关于zabbix
zabbix(音同 za:bix)是一个基于WEB界面的提供分布式系统监视以及网络
监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供
灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix
由2部分构成,zabbix server与可选组件zabbix agent。
先封装7.3级的虚拟机
环境:
server1(172.25.44.11) : server端(7.3版)
server2 (172.25.44.2): agent端 (6.5版)
1.基于mysql的zabbix搭建
[root@server1 ~]# ls
php-mbstring-5.4.16-42.el7.x86_64.rpm
fping-3.10-1.el7.x86_64.rpm zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm zabbix-web-3.4.6-1.el7.noarch.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm zabbix-web-mysql-3.4.6-1.el7.noarch.rpm
[root@server1 ~]# rm -fr anaconda-ks.cfg
[root@server1 ~]# yum install * -y
[root@server1 ~]# cd /etc/zabbix/
[root@server1 zabbix]# ls
web zabbix_server.conf
[root@server1 zabbix]# yum install mariab-server -y
[root@server1 zabbix]# systemctl start mariadb
[root@server1 zabbix]# mysql_secure_installation
[root@server1 zabbix]# mysql -p
Enter password:
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';
Query OK, 0 rows affected (0.00 sec)
[root@server1 zabbix]# cd /usr/share/doc/zabbix-server-mysql-3.4.6/
[root@server1 zabbix-server-mysql-3.4.6]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
[root@server1 zabbix-server-mysql-3.4.6]# zcat create.sql.gz | mysql -u zabbix -p zabbix
Enter password:
[root@server1 zabbix-server-mysql-3.4.6]# cd /etc/zabbix/
[root@server1 zabbix]# ls
web zabbix_server.conf
[root@server1 zabbix]# vim zabbix_server.conf
125 DBPassword=westos
132 DBSocket=/var/lib/mysql/mysql.sock
[root@server1 zabbix]# ll /var/lib/mysql/mysql.sock
srwxrwxrwx 1 mysql mysql 0 8月 14 16:05 /var/lib/mysql/mysql.sock
[root@server1 zabbix]# cd /etc/httpd
[root@server1 httpd]# ls
conf conf.d conf.modules.d logs modules run
[root@server1 httpd]# cd conf.d/
[root@server1 conf.d]# vim zabbix.conf
19 php_value date.timezone Asia/Shanghai
[root@server1 conf.d]# systemctl start zabbix-server
[root@server1 conf.d]# systemctl start httpd
[root@server1 conf.d]# getenforce
Disabled
[root@server1 conf.d]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@server1 conf.d]# cd
[root@server1 ~]# yum install zabbix-agent-3.4.6-1.el7.x86_64.rpm -y
[root@server1 ~]# systemctl start zabbix-agent
#打开网页测试
#这里的登陆密码是在上边文件里写的
#点击人头,修改密码和语言
#退出去,用新密码重新登陆
#启用zabbix-server,点击红色的‘已停用’,使之变为‘已启用’
#状态必须为已启用
#客户端:这台虚拟机是6.5版本的
[root@server2 ~]# ls
zabbix-agent-3.4.6-1.el6.x86_64.rpm
[root@server2 ~]# rpm -ivh zabbix-agent-3.4.6-1.el6.x86_64.rpm
warning: zabbix-agent-3.4.6-1.el6.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ########################################### [100%]
1:zabbix-agent ########################################### [100%]
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# vim zabbix_agentd.conf
97 Server=172.25.44.11
137 ServerActive=172.25.44.11
148 Hostname=server2 #本机名称,此处的目的是写本机解析
[root@server2 zabbix]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
添加客户端
1.自动发现
#启用
#点击Local network添加网段
#网段添加成功
因为自动发现是随机的每个隔一个小时发现一次,我的自动发现没有发现我
的客户端,下面我就采用手动添加的方式把我的客户端(server2)添加进去
2.手动添加
#点击创建主机
#点击模块,添加模块
#添加成功
3.自主注册(因为上面已经手动添加成功,所以要先删除刚才添加的ser er2)
#点击创建动作
#添加名称
#点击启用
[root@server2 zabbix]# netstat -antlp
/rpc.statd
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1956/zabbix_agentd
#添加Api
[root@server2 zabbix]# cd
[root@server2 zabbix]# vim zabbix-api.sh
[root@server2 ~]# chmod +x zabbix-api.sh
[root@server2 ~]# ./zabbix-api.sh
{
"id": 1,
"jsonrpc": "2.0",
"result": "10655b7f55511512c73ab6060069c833"
}
[root@server2 ~]# vim zabbix-api.sh
[root@server2 ~]# ./zabbix-api.sh
#用api删除:
[root@server2 ~]# vim zabbix-api.sh
[root@server2 ~]# ./zabbix-api.sh
查看网页就会删除
#
用api添加:
[root@server2 ~]# vim zabbix-api.sh
[root@server2 ~]# ./zabbix-api.sh
[root@server2 ~]# yum install httpd
[root@server2 ~]# /etc/init.d/httpd start
Starting httpd:
[root@server2 ~]# cd /var/www/html/
[root@server2 html]# vim index.html
查看网页就会添加成功
#
2.添加nginx监控
[root@server2 ~]# rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm
[root@server2 ~]# cd /etc/nginx/
[root@server2 nginx]# ls
conf.d koi-utf mime.types scgi_params win-utf
fastcgi_params koi-win nginx.conf uwsgi_params
[root@server2 nginx]# cd conf.d/
[root@server2 conf.d]# ls
default.conf example_ssl.conf
[root@server2 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@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
[root@server2 ~]# /etc/init.d/nginx restart
[root@server2 ~]# curl http://127.0.0.1/status
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
[root@server2 ~]# curl -s http://127.0.0.1/status | grep Active
Active connections: 1
[root@server2 ~]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
1
[root@server2 ~]# curl -s http://127.0.0.1/status | grep Active | awk '{print $NF}' #NF表示最后一列,也可使用$3
1
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@server2 zabbix]# cd zabbix_agentd.d/
[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server2 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
[root@server2 zabbix_agentd.d]# chkconfig zabbix-agent on
[root@server1 ~]# systemctl start mariadb
[root@server1 ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@server1 ~]# systemctl start zabbix-server
[root@server1 ~]# 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@server1 ~]# systemctl start zabbix-agent
[root@server1 ~]# 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@server1 ~]# rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm
[root@server1 ~]# zabbix_get -s 172.25.44.2 -p 10050 -k 'nginx.active'
1
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
浏览器
点击监控项->创建监控项
#填写自定义名称,键值是server6文件userparameter_nginx.conf 中的名字
#点击图形->创建图形
#效果呈现
#添加其他监控项
[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf
1 UserParameter=nginx.accepts,curl -s http://127.0.0.1/status | awk NR ==3 | awk '{print $1}'
2 UserParameter=nginx.requests,curl -s http://127.0.0.1/status | awk N R==3 | awk '{print $2}'
3 UserParameter=nginx.handled,curl -s http://127.0.0.1/status | awk NR ==3 | awk '{print $3}'
[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
[root@server1 conf.d]# zabbix_get -s 172.25.44.2 -p 10050 -k 'nginx.accepts'
74
[root@server1 conf.d]# zabbix_get -s 172.25.44.2 -p 10050 -k 'nginx.handled'
76
[root@server1 conf.d]# zabbix_get -s 172.25.44.2 -p 10050 -k 'nginx.requests'
76
#效果呈现
3.添加percona监控
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 ~]# cd /var/lib/zabbix/
[root@server1 zabbix]# ls
percona
[root@server1 zabbix]# cd percona/
[root@server1 percona]# ls
scripts templates
[root@server1 percona]# cd scripts/
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
[root@server1 scripts]# 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]# ls
userparameter_mysql.conf 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]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
1 <?php
2 $mysql_user = 'root';
3 $mysql_pass = 'westos';
[root@server1 scripts]# cd /tmp/
[root@server1 tmp]# ls
ks-script-Zlfu8u
systemd-private-6ea343c1b99f4e959734615629953fcb-httpd.service-OVBja8
systemd-private-6ea343c1b99f4e959734615629953fcb-mariadb.service-GdOORo
systemd-private-d4d96c98bd4047c5a5b5d9aab805c082-httpd.service-HfogtZ
systemd-private-d4d96c98bd4047c5a5b5d9aab805c082-mariadb.service-lLXBvV
yum.log
[root@server1 ~]# cd /etc/zabbix/zabbix_agentd.d
[root@server1 zabbix_agentd.d]# ls
userparameter_mysql.conf userparameter_percona_mysql.conf
[root@server1 zabbix_agentd.d]# cat userparameter_percona_mysql.conf
[root@server1 tmp]# yum install -y net-tools
[root@server1 tmp]# netstat -antlp
tcp6 0 0 :::10050 :::* LISTEN 4013/zabbix_agentd
[root@server1 ~]# vim ~zabbix/.my.cnf
1 [client]
2 user = root
3 password = westos
[root@server1 zabbix_agentd.d]# systemctl restart zabbix-agent
[root@server1 tmp]# zabbix_get -s 127.0.0.1 -p 10050 -k 'MySQL.Threads-cached'
0
#导入模版
#监控项变多
#给zabbix添加模版
4.添加java模块
[root@server1 ~]# rpm -ivh jdk-8u121-linux-x64.rpm
[root@server1 ~]# tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/
[root@server1 ~]# cd /usr/local/
[root@server1 local]# ls
apache-tomcat-7.0.90 bin etc games include lib lib64 libexec sbin share src
[root@server1 local]# ln -s apache-tomcat-7.0.90/ tomcat
[root@server1 local]# cd tomcat/
[root@server1 tomcat]# ls
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@server1 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.
[root@server1 tomcat]# netstat -antlp
tcp6 0 0 :::8080 :::* LISTEN 9157/java
[root@server1 tomcat]# cd bin/
[root@server1 bin]# ls
bootstrap.jar configtest.bat setclasspath.sh tomcat-native.tar.gz
catalina.bat configtest.sh shutdown.bat tool-wrapper.bat
catalina.sh daemon.sh shutdown.sh tool-wrapper.sh
catalina-tasks.xml digest.bat startup.bat version.bat
commons-daemon.jar digest.sh startup.sh version.sh
commons-daemon-native.tar.gz setclasspath.bat tomcat-juli.jar
[root@server1 bin]# vim catalina.sh
109 CATALNA_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@server1 bin]# ./shutdown.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
[root@server1 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.
[root@server1 bin]# netstat -antlp
tcp6 0 0 :::8888 :::* LISTEN 14923/java
[root@server1 ~]# yum install zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm
[root@server1 ~]# cd /etc/zabbix/
[root@server1 zabbix]# systemctl start zabbix-java-gateway
[root@server1 zabbix]# netstat -antlp | grep 10052
tcp6 0 0 :::10052 :::* LISTEN 16911/java
[root@server1 zabbix]# vim zabbix_server.conf
262 JavaGateway=172.25.44.11
270 JavaGatewayPort=10052
278 StartJavaPollers=5
[root@server1 zabbix]# systemctl restart zabbix-server
#java模块成功添加