snmp 默认监控upd161端口 tcp 也有
[root@bogon ~]# netstat -nlutp|grep snmp
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 7601/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 7601/snmpd
[root@bogon ~]# cat /etc/snmp/snmpd.conf
rocommunity oldboy 192.168.86.3
snmp 原理
http://www.ibm.com/developerworks/cn/linux/l-cn-snmp/
snmpget -v2c -c oldboy 192.168.86.3 1.3.6.1.4.1.2021.10.1.3.1
snmpget -v2c -c oldboy 192.168.86.3 1.3.6.1.2.1.1.3.0
http://www.debianadmin.com/linux-snmp-oids-for-cpumemory-and-disk-statistics.html
uptime系统负载的解释
the system load averages for the
past 1, 5, and 15 minutes.
top
P cpu 排序,M内存排序
top vmstat mpstat
硬盘
iotop
顺序io
随机io
网络
iftop
测试网络ip等
阿里测
奇云测http://ce.cloud.360.cn/
yum install -y pcre-devel openssl-devel gcc glibc
./configure --user=www --group=www --prefix=/usr/local/nginx-1.10.1/ --with-http_stub_status_module --with-http_ssl_module
nginx配置状态监控
http://wiki.jiankongbao.com/doku.php/%E6%96%87%E6%A1%A3:%E5%AE%89%E5%85%A8%E6%8C%87%E5%BC%95#nginx_监控
zabbix IPMI snmp jvm server-agent模式
yum install zabbix-server zabbix-web zabbix-server-mysql zabbix-web-mysql mariadb-server mariadb zabbix-agent -y
自定义监控项
[root@Zabbix-sever ~]# cat /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=nginx.active,/usr/bin/curl -s http://192.168.86.3:8080/nginx-status|awk 'NR==1{print $NF}'
重启zabbix-agent(注意看报错,这里修改)
在sever端使用zabbix_get测试获取
[root@Zabbix-sever ~]# zabbix_get -s 192.168.86.3 -p 10050 -k "nginx.active"
1
smokeping 监控宝就是这样分布式监控,从各个站点ping然后统计在一起
piwik 流量分析系统
权限只能分给用户组Permissions can be assigned for user groups only.
创建用户,选择用户角色
报警媒介
action
添加新主机 后,要确认权限分配
交换机上添加snmp
config t
snmp-server community public ro
ipmi 使用自定义item,
yum install -y zabbix-java-gateway.x86_64 java-1.8.0
vim /etc/zabbix/zabbix_java_gateway.conf
vi /etc/zabbix/zabbix_server.conf
systemctl restart zabbix-server.service
cd /usr/local/src
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.tar.gz
tar xf apache-tomcat-8.0.39.tar.gz
mv apache-tomcat-8.0.39 /usr/local/
ln -s /usr/local/apache-tomcat-8.0.39/ /usr/local/tomcat
/usr/local/tomcat/bin/startup.sh
jmx 三种类型,1无密码认证,2用户名密码验证3,ssl
/usr/local/tomcat/bin
catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.86.7"
./shutdown.sh
./startup.sh
server端systemctl start zabbix-java-gateway.service zabbix-agent
systemctl start zabbix-server.service zabbix-agent.service mariadb.service httpd.service
UserParameter=linux_status[*],/etc/zabbix/zabbix_agentd.d/zabbix_linux_plugin.sh "$1" "$2" "$3"
*传参数
AlertScriptsPath=/usr/lib/zabbix/alertscripts
短信通知
http://www.alidayu.com/
超过300个 使用主动模式
yum provides "*libmysqlclient.so.18*"
--> Finished Dependency Resolution
Error: Package: zabbix-proxy-mysql-3.0.7-1.el6.x86_64 (zabbix)
Requires: libmysqlclient.so.16(libmysqlclient_16)(64bit)
Error: Package: zabbix-proxy-sqlite3-3.0.7-1.el6.x86_64 (zabbix)
Requires: libnetsnmp.so.20()(64bit)
Error: Package: zabbix-proxy-mysql-3.0.7-1.el6.x86_64 (zabbix)
Requires: libnetsnmp.so.20()(64bit)
Error: Package: zabbix-proxy-mysql-3.0.7-1.el6.x86_64 (zabbix)
Requires: libmysqlclient.so.16()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
最终原因是由于
rpm -ihv http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
装了6的rpm应该装7的zabbix repo
install proxy
[root@node2 zabbix]# yum install -y zabbix-proxy zabbix-proxy-mysql mariadb-server
proxy end
create database zabbix_proxy character set utf8;
grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix_proxy';
grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';
[root@node2 zabbix]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.7/
[root@node2 zabbix-proxy-mysql-3.0.7]# zcat schema.sql.gz |mysql -uzabbix_proxy -p zabbix_proxy
[root@node2 zabbix-proxy-mysql-3.0.7]# egrep -v '^$|^#' /etc/zabbix/zabbix_proxy.conf
Server=192.168.3.3
Hostname=zabbix-proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
[root@node2 zabbix-proxy-mysql-3.0.7]# systemctl stop zabbix-agent.service
[root@node2 zabbix-proxy-mysql-3.0.7]# systemctl start zabbix-proxy
active mode conf
[root@node2 zabbix]# egrep -v '^$|^#' zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=192.168.3.3
Hostname=node2.com
Include=/etc/zabbix/zabbix_agentd.d/*.conf
passive mode conf
[root@node1 /etc/zabbix]# egrep -v '^$|^#' zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server= 192.168.3.3
Hostname=node1.com
Include=/etc/zabbix/zabbix_agentd.d/*.conf
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "zhangsan",
"password": "123123"
},
"id": 1
}
' http://192.168.86.3/zabbix/api_jsonrpc.php
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["host"]
},
"auth": "a590ceaa744f3c0b4fed04e52e2575b1",
"id": 1
}
' http://192.168.86.3/zabbix/api_jsonrpc.php|python -m json.tool
zabbix_get 使用,需要在zabbix_agent.conf中写入server的值,然后在server上执行get命令
[root@node1 ~]# zabbix_get -s 192.168.3.3 -p 10050 -k "system.cpu.load[all,avg1]"
0.270000
如果不是server执行的话:就会出现以下错误
[root@node1 ~]# zabbix_get -s 192.168.3.4 -p 10050 -k "system.cpu.load[all,avg1]"
zabbix_get [46203]: Check access restrictions in Zabbix agent configuration
vfs.fs.size[/,total].
agent.ping.nodata(15s)
zabbix_get -s 192.168.3.4 -p 10050 -k "icmpping"