实验环境:
zabbix-server:redhat7.2 server72:172.25,254.72
zabbix-agent: redhat6.5 server6:172.25.254.6 server4:172.25.254.4
zabbix监控nginx
agent:
[root@server6 ~]# rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm
[root@server6 nginx]# cd /etc/nginx/conf.d/
[root@server6 conf.d]# ls
default.conf example_ssl.conf
[root@server6 conf.d]# vim default.conf12 location /status {
13 stub_status on;
14 access_log off;
15 }[root@server6 ~]# /etc/init.d/nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
浏览器查看(客户端ip奥):
accepts:允许请求 handled:建立tcp连接 requests:响应
nginx status详细说明如下: Active connections:对后端发起的活动连接数; accepts:nginx总共处理了多少个连接; handled:nginx成功创建了几次握手; requests:nginx总共处理了多少请求。 Reading:nginx读取客户端的header数; Writing:nginx返回给客户端的header数; Waiting:nginx请求处理完成,正在等待下一请求指令的连接
[root@server6 conf.d]# vim default.conf 添加访问控制
12 location /status {
13 stub_status on;
14 access_log off;
15 allow 127.0.0.1; 设置只允许本地访问
16 deny all;
17 }[root@server6 conf.d]# nginx -s reload
[root@server6 conf.d]# curl -s http://127.0.0.1/status
Active connections: 1
server accepts handled requests
2 2 3
Reading: 0 Writing: 1 Waiting: 0
[root@server6 conf.d]# curl -s http://172.25.254.6/status 在本地这样访问也是不可以的奥(surprise!)
<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.8.0</center>
</body>
</html>[root@server6 zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d[root@server6 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
UserParameter=nginx.accepts,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
UserParameter=nginx.handled,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $2}'
UserParameter=nginx.requests,curl -s http://127.0.0.1/status | grep NR==3 | awk '{print $3}'[root@server6 zabbix_agentd.d]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]zabbix-server:
开启zabbix-server服务
[root@server72 ~]# rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm
看zabbix能否监控zabbix-agent添加的监控内容分
[root@server72 ~]# zabbix_get -s 172.25.254.6 -p 10050 -k 'nginx.active'
1
[root@server72 ~]# zabbix_get -s 172.25.254.6 -p 10050 -k 'nginx.handled'
5
[root@server72 ~]# zabbix_get -s 172.25.254.6 -p 10050 -k 'nginx.accepts'
6[root@server72 ~]# zabbix_get -s 172.25.254.6 -p 10050 -k 'nginx.requests'
web端添加监控项:
自定义名称,键值填写server6文件userparameter_nginx.conf中的名字
监控项-->创建监控项
图像—>创建图形
预览查看图形:
添加percona监控mysql
介绍:zabbix自带mysql插件,但是监控的项目较少,所以需要更加详细的监控。
server:
percona监控是用php写的,下载php
yum install -y php php-mysql
rpm -ivh percona-zabbix-templates-1.1.7-2.noarch.rpm
执行完这一步会生成两个目录 分别是:
/var/lib/zabbix/percona/scripts 监控脚本目录
/var/lib/zabbix/percona/templates 监控mysql的xml模版目录
其中
scripts里面存放的是get_mysql_stats_wrapper.sh和ss_get_mysql_stats.php;
templates里面存在userparameter_percona_mysql.confzabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml
注意:percona和zabbix需要匹配版本,当前percona版本为1.1.8,zabbbix为3.0,有可能模版不匹配。
拷贝userparameter_percona_mysql.conf 文件到被监控的mysql服务器上
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@server72 templates]#systemctl restart zabbix-agent
[root@server72 templates]# cd /var/lib/zabbix/percona/scripts/
[root@server72 templates]#
[root@server72 scripts]# vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';[root@server72 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
6[root@server72 scripts]# cd /tmp/
[root@server72 tmp]# cat localhost-mysql_cacti_stats.txtgg:6 gh:1 gi:0 gj:0 gk:1323 gl:1768864 gm:1 gn:17 go:0 gp:0 gq:8191 gr:6529 gs:1534 gt:8 gu:1448 gv:86 gw:20008 gx:9801 gy:1460 gz:28876 hg:7916 hh:0 hi:0 hj:0 hk:0 hl:0 hm:0 hn:0 ho:0 hp:0 hq:198 hr:198 hs:63 ht:763 hu:900 hv:853 hw:8501 h
[root@server72 templates]#rm -rf localhost-mysql_cacti_stats.txt 此文件为get_mysql_stats_wrapper.sh生成的记录文件
[root@server72 ~]# vim ~zabbix/.my.cnf
[client]
user = root
password = redhat
重启客户端 并测试[root@server72 ~]# zabbix_get -s 127.0.0.1 -p 10050 -k 'MySQL.Threads-cached'
0
web端导入模块:
配置—>模版—>导入(注,因为percona自带的模版太旧,找到合适的版本)
导入成功
查看监控项到达191项
zabbix监控java
zabbix-agent:
rpm -ivh jdk-8u121-linux-x64.rpm
tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-tomcat-7.0.90/ tomcat
cd tomcat/
cd bin/
vim catalina.sh
107 CATALINA_OPTS='-Dcom.sun.management.jmxremote
108 -Dcom.sun.management.jmxremote.port=8888
109 -Dcom.sun.management.jmxremote.ssl=false
110 -Dcom.sun.management.jmxremote.authenticate=fales'
./startup.sh
netstat -antlp | grep 8888
zabbix-server:
yum install zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm -y
cd /etc/zabbix/
vim zabbix_server.conf
262 JavaGateway=172.25.35.61
270 JavaGatewayPort=10052
278 StartJavaPollers=5
systemctl start zabbix-java-gateway
systemctl restart zabbix-server
netstat -antlp | grep 10052
web端:
点击server4
添加jmx接口
添加Java模版
添加之后刷新就可以看到JMX接口可用、java模块添加进去: