此篇博客承接zabbix监控——创建监控主机,自动发现,自动注册
实验环境
主机 | ip | 环境 |
---|---|---|
server4 | 172.25.62.4 | zabbix监控端 |
server3 | 172.25.62.3 | 被监控主机 |
server2 | 172.25.62.2 | 被监控主机 |
在server2和server3安装 zabbix-agent。
前面已经完成了添加主机进行监控,下面来对服务进行监控。
对server2中的httpd服务进行监控
首先需要在server安装httpd再打开服务。
[root@server2 ~]# yum install -y httpd
[root@server2 ~]# systemctl start httpd
之后再web端进行行操作
点击主机server2,进入模板进行添加模板
添加HTTP的模板点击更新,这样就完成监控的添加了。
在监控项中可以查看被监控的服务。
对server3中的nginx服务进行监控
1.首先,在server3上安装nginx
获取资源,解压
[root@server3 ~]# tar zxf nginx-1.16.0.tar.gz
安装需要的软件。
[root@server3 nginx-1.16.0]# yum install -y gcc pcre-devel zlib-devel
[root@server3 nginx-1.16.0]# ./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module
[root@server3 nginx-1.16.0]# make && make install
编译安装。
2.修改配置文件
vim /usr/local/nginx/conf/nginx.conf
35 server {
36 listen 80;
37 server_name localhost;
38
39
40 location / {
41 root html;
42 index index.html index.htm;
43 }
44
45 location /status {
46 stub_status on;
47 access_log off;
48 allow 127.0.0.1;
49 deny all;
50 }
51
52 error_page 500 502 503 504 /50x.html;
53 location = /50x.html {
54 root html;
55 }
56
57 }
设置只有本机可以访问。
[root@server3 nginx-1.16.0]# curl http://127.0.0.1/status
进行访问测试。
[root@server3 nginx-1.16.0]# yum install -y httpd
[root@server3 nginx-1.16.0]# ab -c 1 -n 1000 http://127.0.0.1/status
对本机进行1000个并发访问。
对Active connection后面的数字进行抓取,之后根据这个数添加监控项。
[root@server3 zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk {'print $3'}
修改文件,设置键值为nginx.acive。
3.在web端进行配置
首先点击主机server3中的监控项,点击创建监控项,就出现以下页面,在页面中输入监控的名称,这个可以随便命名,但下面的键值要和上面的文件一致,之后点击更新。
之后点击图形,点击创建图形,添加刚才创建的监控项nginx_active。
点击更新,之后就可以进行查看了。
这里发现乱码,需要在web端server4下载simkai.ttf插件,并且把文件放到指定目录
之后再修改一个文件就可以了。
[root@server4 include]# pwd
/usr/share/zabbix/include
[root@server4 include]# vim defines.inc.php
替换文件内容。
修改文件之后重新预览图形,可以发现中文正常显示了。
接下来添加第二个监控项,首先在文件中添加
[root@server3 zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf
1 UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk {'print $3'}
2 UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | a wk '{print $1}'
添加第二行的内容。
之后在浏览器进行配置和上面一样,先创建监控项,之后根据创建的监控项创建图形,但这里是监控同一个服务,所以可以和前面的监控项功用一个图形,这里就不需要创建了。
创建监控项。
之后点击之前创建的nginx_status监控项。
将监控项加入。
预览时回发现监控两个项。
对server4中mysql的监控
因为zabbix监控端就安装在server4中,所以这里就是对本机的监控。
首先,在zabbix server主机添加DB MYSQL模板。
查看Databases群组,这里发现了DB MYSQL的模板。
检测数据库。
[root@server4 ~]# cd /var/lib/
[root@server4 lib]# mkdir zabbix
[root@server4 lib]# cd zabbix/
[root@server4 zabbix]# vim my.cnf
[mysql]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock
编写mysql的配置。
在web端点击DB MYSQL模板,再点击监控项,可以看到监控项。
查看监控图形。
接下来用percona监控zabbix server数据库
Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。
首先安装percona
[root@server4 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
获取安装包进行安装。
[root@server4 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
复制文件到指定目录。
[root@server4 scripts]# pwd
/var/lib/zabbix/percona/scripts
[root@server4 scripts]# vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';
编写文件,这里写的时mysql root的密码。
测试,看是否有数字返回,此时再查看/tmp目录。
文件中自动生成内容。
接下来要再网页中添加percona模板
点击模板中的导入。
导入模板。
将模板加入主机。
可以看到主机的监控项明显变多了。
再server2中下载jdk进行监控
1.在server2上安装软件
首先下载jdk安装包,解压
[root@server2 ~]# rpm -ivh jdk-8u121-linux-x64.rpm
2.获取tomcat包,解压,做软连接
[root@server2 ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local
[root@server2 ~]# cd /usr/local/
[root@server2 local]# ln -s apache-tomcat-8.5.24/ tomcat
3.修改文件
[root@server2 ~]# vim /usr/local/tomcat/bin/catalina.sh
109 CATALINA_OPTS='-Dcom.sun.management.jmxremote
110 -Dcom.sun.management.jmxremote.port=8888
111 -Dcom.sun.management.jmxremote.ssl=false
112 -Dcom.sun.management.jmxremote.authenticate=false'
[root@server2 bin]# ./startup.sh
启动脚本。
[root@server2 bin]# netstat -antlp | grep java
查看端口。
4.在监控端server4安装zabbix-java-gateway,进行配置
下载rmp包,用yum进行安装。
[root@server4 4.0]# yum install -y zabbix-java-gateway-4.0.5-1.el7.x86_64.rpm
修改配置文件
[root@server4 4.0]# vim /etc/zabbix/zabbix_java_gateway.conf
9 LISTEN_IP="172.25.62.4" ##server端ip
17 LISTEN_PORT=10052
35 START_POLLERS=5
修改zabbix-server的配置
[root@server4 4.0]# vim /etc/zabbix/zabbix_server.conf
288 JavaGateway=172.25.62.4 ##server端ip
296 JavaGatewayPort=10052
304 StartJavaPollers=5
[root@server4 4.0]# systemctl start zabbix-java-gateway.service
[root@server4 4.0]# systemctl restart zabbix-server
开启服务。
5.在web服务器上进行配置
点击server2主机,添加JMX接口ip和接口8888。
加入JAVA模板,点击更新。
查看主机JMX监控已经打开。