开启zabiix_server;zabbix_agent;数据库服务
systemctl start mariadb
systemctl enable mariadb
systemctl start zabbix-server
systemctl enable zabbix-server
systemctl start zabbix-agent
systemctl enable zabbix-agent
rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm
zabbix_get -s 172.25.30.2 -p 10050 -k 'nginx.active'
systemctl start httpd
systemctl enable httpd
1.1>安装nginx添加status模块
安装nginx
rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm
vim /etc/nginx/conf.d/default.conf
部署设置只有本机可以访问
nginx -t
在监控中取出Active connetcions:第一步我们需要用awk取出我们想要的数据;第二步在配置文件设置其键值;第三步在监控项里添加该键值;第四步将监控项添加到图形
cd /etc/zabbix/zabbix_agentd.d
cp userparameter_mysql.conf userparameter_nginx.conf
vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status |grep Active |awk '{print $3}'
[root@server2 bin]# curl -s http://127.0.0.1/status |grep Active |awk '{print $3}'
1
/etc/init.d/zabbix-agent start
/etc/init.d/zabbix-agent restart
systemctl start mariadb
chkconfig zabbix-agent on
1.2>创建监控项:键值在配置文件中写入的名称自定义
1.3>创建图形:添加监控项:
1.4> 预览图形:该图形1h更新一次我们可以自己设置时间
2.添加多个监控项并绘制到图形:
相同的方法:编辑配置文件:定义不同的键值为监控项
vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status |grep Active |awk '{print $3}'
UserParameter=nginx.active1,curl -s http://127.0.0.1/status |awk NR==3 |awk '{print $1}'
UserParameter=nginx.active2,curl -s http://127.0.0.1/status |awk NR==3 |awk '{print $2}'
UserParameter=nginx.active3,curl -s http://127.0.0.1/status |awk NR==3 |awk '{print $3}'
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@server1 ~]# cd /var/lib/zabbix/
[root@server1 zabbix]# cd percona/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]# 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]# vim userparameter_percona_mysql.conf #文件中有很多模块
[root@server1 zabbix_agentd.d]# systemctl restart zabbix-agent
[root@server1 ~]# cd /var/lib/zabbix/
[root@server1 zabbix]# cd percona/scripts/
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
$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]# ls
localhost-mysql_cacti_stats.txt
systemd-private-341c793ecd2a49cbad1475ad17be3378-httpd.service-ZU3wFj
systemd-private-341c793ecd2a49cbad1475ad17be3378-mariadb.service-5JtpOe
systemd-private-e30b2052b8c6427981d22b219c6ca377-httpd.service-XpezEC
systemd-private-e30b2052b8c6427981d22b219c6ca377-mariadb.service-IE1y50
[root@server1 tmp]# rm -f localhost-mysql_cacti_stats.txt
[root@server1 ~]# yum install -y net-tools
[root@server1 ~]# zabbix_get -s 127.0.0.1 -p 10050 -k 'MySQL.Threads-cached'
0
[root@server1 ~]# vim ~zabbix/.my.cnf
[client]
user=root
password=westos
在真机下载
zbx_percona_mysql_template.xml :在zabbix图形模块导入该模块:
Template Percona MySQL Server
5.1>zabbix_agent安装jdk并修改jdk端口为8888
server2:
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/
bin/startup.sh
bin/shutdown.sh
cd bin/
vim catalina.sh #tomcat端口
CATALINA_OPTS='-Dcom.sun.managerment.jmxremote
-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false'
./shutdown.sh
./startup.sh
netstat antlup | grep 8888
tcp 0 0 :::8888 :::* LISTEN 7208/java
tcp 0 0 ::ffff:172.25.30.2:8888 ::ffff:172.25.30.1:60122 ESTABLISHED 7208/java
5.2> zabbix_server安装java_gateway添加java网关:
yum install zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm
cd /etc/zabbix/
vim zabbix_java_gateway.conf
systemctl start zabbix-java-gateway
netstat -antlp |grep 10052
vim zabbix_server.conf #修改java网关
systemctl restart zabbix_server
在zabbix添加模块:
zbx_percona_mysql_template.xml
安装注册onealert:
首先需要保证我们的监控服务是能够和外界通信这样才能发起报警引擎
6.1> 虚拟机联网:
#真机加伪装
iptables -t nat -I POSTROUTING -s 172.25.30.0/24 -j MASQUERADE
# 虚拟机加网关
route add default gw 172.25.30.250
# 添加解析114.114.114.114
vim /etc/resolv.conf
tar zxf oneitsm_zabbix_release-1.2.0.tar.gz
cd oneitsm/bin/
安装+脚本+key
bash install.sh 2b79074c-146a-5ac9-92c9-c571528c2c04 安装key
start to create config file...
Zabbix管理地址: http://172.25.30.1/zabbix
Zabbix管理员账号: admin
Zabbix管理员密码:
create action success!
安装成功.
当关闭zabbix-agent:监控中server2的zbx就会显示红色证明该服务宕掉此时我们在onealert中设置的报警设置就会启动,然后发邮件提醒;分派任务;我们还可以设置危险解除再次发送邮件;这些方式都可以自定义。
解决问题:/etc/init.d/zabbix-agent start:
点击全克隆——>重命名—–>添加——>批量操作(将类型修改为主动)
当操作系统设置为主动时agent为被动是不会被自动发现的;因为他并没有开启10050端口
# 被动agent
vim /etc/zabbix/zabbix_agentd.conf
#Server=127.0.0.1
StartAgents=0
ServerActive=172.25.30.1
Hostname=server3
/etc/init.d/zabbix-agent restart
netstat -antlp #没有开启10050端口:
主动agent:当监控没有主动寻找监控项时她自己主动连接将数据送到监控从而减小监控的压力
vim /etc/zabbix/zabbix_agentd.conf
Server=172.25.30.1
StartAgents=3
ServerActive=172.25.30.1
原理图:zabbix_server去内网取数据要经过一层火墙而当他把任务分配给内网中的proxy代理代理就会帮他在agent取数据从内部送出这比他自己从外部取更加方便快捷
数据流向:master——->proxy1;proxy2;…——>agent(22,80,21,3306)——->proxy—->master
监控过程:采集——>存储—–>展示
我们选用server3作proxy代理但是proxy和agent冲突所以先关闭server3上的zabbix_agent
Proxy:
yum install zabbix-proxy-mysql-3.4.6-1.el6.x86_64.rpm fping-2.4b2-16.el6.x86_64.rpm -y
yum install -y mysql-server
vim /etc/zabbix/zabbix_proxy.conf
Mysql:安装数据库为了将server2的数据取出来存储加速传递给zabbix_server;我们并没有对proxy的数据库进行操作而是利用他的代理作用将server2---->proxy
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'westos';
cd /usr/share/doc/zabbix-proxy-mysql-3.4.6/
zcat schema.sql.gz | mysql -u zabbix -p zabbix_proxy
Enter password:
/etc/init.d/zabbix-proxy start
添加代理----->server3----->代理主机server2
将server2agent——>server3:
agent是通过proxy和外界连接的所以我们需要将其的server指向他的代理
vim /etc/zabbix/zabbix_agentd.conf
/etc/init.d/zabbix-agent restart