一、实验环境
- server1 :172.25.2.1/24
- 版本号: redhat7.3,配置zabbix-server
- server6: 172.25.2.6/24
- 版本号: redhat6.5,配置zabbix-agent
二、实验
2.1 添加mysql和http模块监控项
[root@server1 ~]# mkdir /var/lib/zabbix
[root@server1 ~]# cd /var/lib/zabbix/
[root@server1 zabbix]# vim .my.cnf
//添加内容
[mysql]
user=root
password=westos
socket=/var/lib/mysql/mysql.scok
[mysqladmin]
user=root
password=westos
socket=/var/lib/mysql/mysql.scok
[root@server1 zabbix]# systemctl restart zabbix-agent
2.2 添加nginx监控
(1)agent端安装nginx,配置status监控项
[root@server6 ~]# rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm //安装nging
[root@server6 ~]# cd /etc/nginx/conf.d/
[root@server6 conf.d]# vim default.conf
//添加status模块
12 location /status {
13 stub_status on;
14 access_log off;
15 }
[root@server6 conf.d]# nginx -t
[root@server6 conf.d]# /etc/init.d/nginx start
浏览器查看:
依次为:
//连接数
//允许请求 建立tcp连接 响应
[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 http://127.0.0.1/status
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
[root@server6 conf.d]# curl http://172.25.2.6/status
<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>
(2)配置zabbix-agent,添加监控项
[root@server6 conf.d]# cd /etc/zabbix/zabbix_agentd.d/
[root@server6 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
//拷贝监控模版
[root@server6 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $NF}' //nginx.active为监控项名称,NF表示最后一列,也可使用$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 | awk NR==3 | awk '{print $3}'
[root@server6 zabbix_agentd.d]# /etc/init.d/zabbix-agent start
[root@server6 zabbix_agentd.d]# chkconfig zabbix-agent on
(3)server端开启服务
[root@server1 ~]# systemctl start mariadb
[root@server1 ~]# systemctl enable mariadb
[root@server1 ~]# systemctl start zabbix-server
[root@server1 ~]# systemctl enable zabbix-server
[root@server1 ~]# systemctl start zabbix-agent
[root@server1 ~]# systemctl enable zabbix-agent
[root@server1 ~]# rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm
//测试
[root@server1 ~]# zabbix_get -s 172.25.35.56 -p 10050 -k 'nginx.active'
1
[root@server1 ~]# zabbix_get -s 172.25.35.56 -p 10050 -k 'nginx.handled'
36
[root@server1 ~]# zabbix_get -s 172.25.35.56 -p 10050 -k 'nginx.accepts'
37
[root@server1 ~]# zabbix_get -s 172.25.35.56 -p 10050 -k 'nginx.requests'
38
(4)浏览器添加:
点击监控项->创建监控项:
填写自定义名称,键值是server6文件userparameter_nginx.conf 中的名字
其他监控项创建步骤相同
点击图形->创建图形
自定义名称,添加刚才创建的监控项:
可在预览里面看到添加的监控项变化:
2.3 server端percona
Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为
步骤可以参考官网文档percona官网
(1)安装配置percona
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm //安装
[root@server1 ~]# cd /var/lib/zabbix/percona/templates/
[root@server1 templates]# ls
userparameter_percona_mysql.conf
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/ //拷贝配置文件
[root@server1 templates]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# vim userparameter_percona_mysql.conf
[root@server1 zabbix_agentd.d]# systemctl restart zabbix-agent
[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix/percona/scripts/
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'westos';
[root@server1 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
4
[root@server1 scripts]# cd /tmp
[root@server1 tmp]# cat localhost-mysql_cacti_stats.txt
[root@server1 tmp]# rm -f localhost-mysql_cacti_stats.txt //删掉测试文件
[root@server1 tmp]# cd
[root@server1 ~]# vim ~zabbix/.my.cnf
[client]
user = root
password = westos
[root@server1 ~]# systemctl restart zabbix-agent
[root@server1 ~]# zabbix_get -s 127.0.0.1 -p 10050 -k 'MySQL.Threads-cached'
0
(2)浏览器添加
配置:模版,点击导入
Browse…选择文件zbx_percona_mysql_template.xml
显示成功导入即可查看到监控项有191个
点击Zabbix server
添加Template Percona MySQL Server模版–>更新
添加后可以看到监控项变多
2.4 添加java模块
(1)server端配置
[root@server6 ~]# rpm -ivh jdk-8u121-linux-x64.rpm
[root@server6 ~]# tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/
[root@server6 ~]# cd /usr/local/
[root@server6 local]# ln -s apache-tomcat-7.0.90/ tomcat
[root@server6 local]# cd tomcat/
[root@server6 tomcat]# ls
bin CONTRIBUTING.md logs RELEASE-NOTES webapps
BUILDING.txt lib NOTICE RUNNING.txt work
conf LICENSE README.md temp
[root@server6 tomcat]# cd bin/
[root@server6 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'
[root@server6 bin]# ./startup.sh
[root@server6 bin]# netstat -antlp | grep 8888
tcp 0 0 :::8888 :::* LISTEN 6158/java
[root@server1 ~]# yum install zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm -y //安装java监控
[root@server1 ~]# cd /etc/zabbix/
[root@server1 zabbix]# vim zabbix_server.conf
262 JavaGateway=172.25.2.1
270 JavaGatewayPort=10052
278 StartJavaPollers=5
[root@server1 zabbix]# systemctl start zabbix-java-gateway
[root@server1 zabbix]# systemctl restart zabbix-server
[root@server1 zabbix]# netstat -antlp | grep 10052
tcp6 0 0 :::10052 :::* LISTEN 28118/java
(2)浏览器添加
点击server6
添加JMX接口
添加Java模版
添加之后刷新就可以看到JMX接口可用、java模块添加进去:
图形界面可以查看: