zabbix图形化监控,包括网络请求次数监控、监控项添加、利用JMX监控tomcat以及onealert智能告警平台的搭建

一 利用zabbix实现网络访问请求次数监控
1.在srever2端安装nginx并编辑nginx配置文件:

[root@server2 mnt]# rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm 
[root@server2 mnt]# cd /etc/nginx/conf.d
[root@server2 conf.d]# vim default.conf 

新建location :指定只允许本机访问,拒绝一切其他主机访问

  7 
  8     location / {
  9         root   /usr/share/nginx/html;
 10         index  index.html index.htm;
 11     }
 12     location /status {
 13         stub_status  on;
 14         access_log   off;
 15         allow 127.0.0.1;
 16         deny  all;
 17         }
 18     #error_page  404              /404.html;

nginx -t检查文件语法:
没有报错:

[root@server2 conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

开启nginx并重启:

[root@server2 conf.d]# nginx 
[root@server2 conf.d]# nginx -s reload

本机解析到访问次数:

[root@server2 conf.d]# curl http://127.0.0.1/status
Active connections: 1 
server accepts handled requests
 6 6 7 
Reading: 0 Writing: 1 Waiting: 0 

其他主机访问被拒绝:
这里写图片描述
2.将访问请求次数过滤出来:

[root@server2 conf.d]# curl -s http://127.0.0.1/status |grep Active |awk '{print $NF}'
1

3.将/etc/zabbix/zabbix_agentd.d的文件复制并编辑新的文件:

[root@server2 conf.d]# cd /etc/zabbix/zabbix_agentd.d/
[root@server2 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf

编辑:

[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf 

将过滤请求访问次数的的命令写入:
这里写图片描述
4.开启服务:

[root@server11 ~]# systemctl start zabbix-server
[root@server11 ~]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
[root@server11 ~]# systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
[root@server11 ~]# systemctl start zabbix-agent
[root@server11 ~]# systemctl start mariadb
[root@server11 ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

在server2端开启zabbix-agent:

[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent start
Starting Zabbix agent:                                     [  OK  ]
[root@server2 zabbix_agentd.d]# chkconfig zabbix-agent on

在server11端安装zabbix-get并开启httpd服务:

[root@server11 mnt]# rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm 
warning: zabbix-get-3.4.6-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
    package zabbix-get-3.4.6-1.el7.x86_64 is already installed
[root@server11 mnt]# systemctl start httpd

利用zabbix-get在server11端测试是否能访问到:

[root@server11 mnt]# zabbix_get -s 172.25.17.2 -p 10050 -k 'nginx.active'
1

5.在浏览器中访问zabbix管理界面,为server2设置监控项:
这里写图片描述
这里写图片描述
创建监控项,之后点击添加。
这里写图片描述

创建图形:
这里写图片描述
添加刚才设定的项:
这里写图片描述
添加之后点击预览就可以看到图形:
这里写图片描述

二 利用pericona导入监控项
1.安装pericona并复制文件:

[root@server11 mnt]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 
[root@server11 mnt]# cd /var/lib/zabbix/percona/templates/
[root@server11 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

2.在server11端重启zabbix-agent:

[root@server11 zabbix_agentd.d]# systemctl restart zabbix-agent

进入脚本目录:

[root@server11 templates]# cd /var/lib/zabbix/percona/scripts/

新建文件:

[root@server11 scripts]# vim ss_get_mysql_stats.php.cnf

这里写图片描述

测试:

[root@server11 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
4

3.进入/tmp目录删除文件:

[root@server11 scripts]# cd /tmp/
[root@server11 tmp]# ls
hsperfdata_root
localhost-mysql_cacti_stats.txt
systemd-private-6c2f22d082594f5e8f4418a81571ea74-httpd.service-8wMaGt
systemd-private-6c2f22d082594f5e8f4418a81571ea74-mariadb.service-UaCxmg
systemd-private-e0922f947ef04046904420519e4a07f9-httpd.service-JzWmep
systemd-private-e0922f947ef04046904420519e4a07f9-mariadb.service-uy3tRA
[root@server11 tmp]# rm -f localhost-mysql_cacti_stats.txt 

4.查看userparameter_percona_mysql.conf文件中的键值:

[root@server11 scripts]# cd /etc/zabbix/zabbix_agentd.d/
[root@server11 zabbix_agentd.d]# vim userparameter_percona_mysql.conf 

这里写图片描述
测试:
由返回值表示成功:

[root@server11 zabbix_agentd.d]# zabbix_get -s 127.0.0.1 -p 10050 -k 'MySQL.Threads-cached'
0

5.在真机里面下载模板:zbx_percona_mysql_template.xml
6.在浏览器管理界面导入模板:
这里写图片描述

这里写图片描述
选择:
这里写图片描述
之后点击添加。
效果:监控项由80多变为271
这里写图片描述
三 利用JMX监控tomcat
1.在server2端安装jdk并解压apache-tomcat,制作软链接:

[root@server2 mnt]# rpm -ivh jdk-8u121-linux-x64.rpm 
Preparing...                ########################################### [100%]
   1:jdk1.8.0_121           ########################################### [100%]
Unpacking JAR files...
    tools.jar...
    plugin.jar...
    javaws.jar...
    deploy.jar...
    rt.jar...
    jsse.jar...
    charsets.jar...
    localedata.jar...
[root@server2 mnt]# tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/
[root@server2 mnt]# cd /usr/local/
[root@server2 local]# ln -s apache-tomcat-7.0.90/ tomcat   #制作软链接

2.进入tomcat目录并开启服务:

[root@server2 local]# cd tomcat/
[root@server2 tomcat]# bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

3.编辑文件:

[root@server2 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=false'

这里写图片描述
之后停掉tomcat服务

[root@server2 bin]# ./shutdown.sh

再开启:

[root@server2 bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

就可以查看到8888端口:

[root@server2 bin]# netstat -antlp |grep 8888
tcp        0      0 :::8888                     :::*                        LISTEN      9666/java           

4.在zabbix-server端安装zabbix-java-gateway并开启服务,端口为10052:

[root@server11 mnt]# rpm -ivh zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm 
warning: zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
    package zabbix-java-gateway-3.4.6-1.el7.x86_64 is already installed
[root@server11 mnt]# systemctl start zabbix-java-gateway
[root@server11 mnt]# netstat -antlp |grep 10052
tcp6       0      0 :::10052                :::*                    LISTEN      14449/java          

5.编辑zabbix配置文件:

[root@server11 mnt]# vim /etc/zabbix/zabbix_server.conf 

进行java设定:
这里写图片描述

之后重启zabbix服务:

[root@server11 mnt]# systemctl restart zabbix-server

6.再浏览器中添加8888端口:
这里写图片描述
添加模板之后更新:
这里写图片描述

7.效果:
server2端JMX变为绿色表示搭建成功。
这里写图片描述

四 onealert告警平台
1.注册onealert并登录:
这里写图片描述
创建应用:
这里会提示应用的安装方法
这里写图片描述
按照步骤安装应用:
进入脚本目录,将压缩包防在目录里并解压,进入.bin目录启动执行脚本。执行脚本后面跟的字符串就是在网页时候添加应用时的key。即下图中选中部分:
这里写图片描述
之后执行启动脚本,输入zabbix服务端地址和管理员以及密码,就会成功安装:

[root@server11 zabbix_agentd.d]# cd /usr/lib/zabbix/alertscripts/
[root@server11 alertscripts]# mv /mnt/oneitsm_zabbix_release-1.2.0.tar.gz .
[root@server11 alertscripts]# tar zxf oneitsm_zabbix_release-1.2.0.tar.gz 
[root@server11 alertscripts]# cd oneitsm
[root@server11 bin]# ./install.sh  fc85c0c8-4d3a-3704-3ba0-12cdbdc34c62
./log.sh: line 6: /usr/lib/zabbix/alertscripts/oneitsm/bin/oneitsm.conf: No such file or directory
start to create config file...
Zabbix管理地址: http://172.25.17.11/zabbix
Zabbix管理员账号: Admin        
Zabbix管理员密码: 
start to auth by zabbix admin user and password...

安装成功:

start to create action...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2013  100    51  100  1962    517  19927 --:--:-- --:--:-- --:--:-- 20020
create action success!
安装成功.
[root@server11 bin]# 

2.设定zabbix端虚拟机可以联网用来发送告警信息
设定网关为真机ip:

[root@server11 zabbix_agentd.d]# route add default gw 172.25.17.250
[root@server11 zabbix_agentd.d]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.25.17.250   0.0.0.0         UG    0      0        0 eth0
172.25.17.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

编辑/etc/resolv.conf:
这里写图片描述

在真机端添加iptables策略:

[root@foundation17 qiye7]# iptables -t nat -I POSTROUTING -s 172.25.17.0/24 -j MASQUERADE

虚拟机zabbix端成功联网:

[root@server11 bin]# ping www.baidu.com
PING www.baidu.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=51 time=56.0 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=51 time=68.8 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=3 ttl=51 time=69.8 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=4 ttl=51 time=49.8 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=5 ttl=51 time=152 ms
^C

3.在浏览器中选择事件源为触发器:
这里写图片描述
选择oneitsm action就可以看到相关信息:
这里写图片描述
禁用报告媒介类型(可以不禁用)
这里写图片描述
4.测试:
在zabbix-agent端停掉服务:

[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent stop
Shutting down Zabbix agent:                                [  OK  ]
[root@server2 zabbix_agentd.d]# 

产生告警,认领之后处理告警:(绑定微信可以在微信端接收告警并认领)
这里写图片描述
这里写图片描述
重新开启服务告警解决:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/letter_A/article/details/81701014