最全的zabbix部署(Serveragentproxy)

Posted 记忆风沙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最全的zabbix部署(Serveragentproxy)相关的知识,希望对你有一定的参考价值。

zabbix-3.4

192.168.100.100    zabbix-server
192.168.100.110    zabbix-agent、zabbix-proxy

一、zabbix介绍


二、安装部署zabbix-server

1.安装zabbix-server

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y 

2.安装httpd和mysql

mkdir /opt/download/
cd /opt/download/
mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

my.cnf
修改 Socket=/var/lib/mysql/mysql.sock

msyql.sh

chmod +x msyql.sh
./msyql.sh

##/bin/bash
##安装mysql
	rm -rf mysql-5.6.36-linux-glibc2.5-x86_64
	rm -rf /opt/mysql
	rm -rf /data/my3306/* 
	tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
	mv mysql-5.6.36-linux-glibc2.5-x86_64 /opt/mysql
	#rpm -qa|grep maria
	#rpm -qa|grep mysql
	
	yum remove -y maria*
	yum -y remove mysql mysql-server mysql-libs
	userdel -r mysql

	yum install -y ncurses ncurses-devel libaio libaio-devel
	yum install -y perl perl-DBD-MySQL 
	yum install -y perl-DBI perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey

	useradd -r -g mysql -s /bin/false mysql
	mkdir -p /data/my3306/data,log,tmp,run
	cp /opt/download/my.cnf  /data/my3306/
	chown -R mysql.mysql /opt/mysql
	chown -R mysql:mysql /data/my3306
	cd /opt/mysql/scripts/
	./mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/data/my3306/data --defaults-file=/data/my3306/my.cnf
	touch /etc/ld.so.conf.d/mysql56.conf
	echo "/opt/mysql/lib/" >> /etc/ld.so.conf.d/mysql56.conf
	ldconfig

	echo "export PATH=\\$PATH:/opt/mysql/bin" >> ~/.bash_profile
	sleep 3
	source  ~/.bash_profile

	whereis mysql
	if [ $? -ne 0 ];then
		source  ~/.bash_profile
	else
		echo 'is fail  again !'
	fi 

	ln -s /var/lib/mysql/mysql.sock  /tmp/mysql.sock
	/opt/mysql/bin/mysqld_safe --defaults-file=/data/my3306/my.cnf & 
/opt/mysql/bin/mysql
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('abc123');
SET PASSWORD FOR 'root'@'127.0.0.1'=PASSWORD('abc123');
grant all privileges on *.* to root@'%' identified by 'abc123';

create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@'%' identified by 'abc123';

FLUSH PRIVILEGES;
exit

3.导入初始架构和数据

rm -rf /user/local/msyql/msyql.sock
ln -s /var/lib/mysql/mysql.sock /user/local/msyql/msyql.sock
>>lrwxrwxrwx. 1 root root 27 10 31 20:30 /var/lib/mysql/mysql.sock -> /data/my3306/run/mysql.sock

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix;
sed -i "s/# DBPassword=/DBPassword=abc123/g" /etc/zabbix/zabbix_server.conf
sed -i "s/# DBHost=localhost/DBHost=localhost/g" /etc/zabbix/zabbix_server.conf

sed -i "s/# php_value date.timezone Europe\\/Riga/php_value date.timezone Asia\\/Shanghai/g" /etc/httpd/conf.d/zabbix.conf

systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd

三、安装部署zabbix-agent/安装部署zabbix-proxy

1.安装zabbix-agent、zabbix-proxy

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum install -y zabbix-proxy zabbix-proxy-mysql zabbix-agent
cd /etc/zabbix
#修改配置文件
rm -rf /etc/zabbix/zabbix_agentd.conf
rm -rf /etc/zabbix/zabbix_proxy.conf

2.修改配置文件

1.zabbix-agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
注意修改ip
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
#Server=192.168.100.100
#ServerActive=192.168.100.100
#Hostname=192.168.100.100
AllowRoot=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
2.zabbix-proxy配置文件
vim /etc/zabbix/zabbix_proxy.conf
注意修改ip
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
#Server=192.168.100.100
#ServerActive=192.168.100.100
#Hostname=192.168.100.100
AllowRoot=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@localhost ~]# 
[root@localhost ~]# ^C
[root@localhost ~]# cat /etc/zabbix/zabbix_proxy.conf
#Server=192.168.100.100
#Hostname=192.168.100.110
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
#DBHost=192.168.100.100
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
#DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
AllowRoot=1

3.配置zabbix proxy数据库

1.创建zabbix proxy数据库
/opt/mysql/bin/mysql -uroot -pabc123

mysql> create database zabbix_proxy character set utf8;
#创建zabbix用户,密码也为zabbix,并授权
mysql> GRANT ALL PRIVILEGES ON zabbix_proxy.* TO zabbix@"%" IDENTIFIED BY "zabbix"; 
#刷新授权表
mysql> FLUSH PRIVILEGES;
2.查找zabbix proxy数据
find / -name schema.sql.gz
/usr/share/doc/zabbix-proxy-mysql-3.4.15/schema.sql.gz
3.导入zabbix proxy数据
zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz |mysql -uzbx_proxy -pzabbix zabbix_proxy
4.启动zabbix-proxy和zabbix-agent并设为开机自启
systemctl start zabbix-agent.service zabbix-proxy.service
systemctl enable zabbix-agent.service zabbix-proxy.service

四、告警设置

http://192.168.100.100/zabbix



Admin/zabbix

1.中文设置


2.钉钉设置





复制webhook地址
https://oapi.dingtalk.com/robot/send?access_token=****

3.服务器设置

查看zabbix-server脚本存放的位置

[root@localhost ~]# grep ^AlertScriptsPath /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# vim dingding.sh
#!/usr/bin/bash
sendkey=钉钉token值
curl 'https://oapi.dingtalk.com/robot/send?access_token='$sendkey \\
-H 'Content-Type: application/json' \\
-d "
        
                \\"actionCard\\": 
                \\"title\\": \\"$2\\",
                \\"text\\": \\"$3\\",
                \\"hideAvatar\\": \\"0\\",
                \\"btnOrientation\\": \\"0\\",
                \\"btns\\": [
                        
                                \\"title\\": \\" 请赶快处理\\"
                                        
            ]
    ,
    \\"msgtype\\": \\"actionCard\\"
"

[root@localhost alertscripts]# chmod +x dingding.sh
[root@localhost alertscripts]# sh -x dingding.sh 1 测试  告警
[root@localhost alertscripts]# touch /var/log/zabbix/dingding.log
[root@localhost alertscripts]# chown zabbix.zabbix /var/log/zabbix/dingding.log

4.web设置

名称:告警
类型:脚本
脚本名称:dingding.sh
脚本参数://新增以下三个参数

ALERT.SENDTO
ALERT.SUBJECT
ALERT.MESSAGE


注意执行脚本名称

名称:Linux servers(随便)
条件 A 主机群组=Linux servers
条件 B 主机群组 = agent-1


默认操作步骤持续时间 60
默认接收人  TRIGGER.STATUS:TRIGGER.NAME
默认信息:

告警主机:HOST.NAME
告警  IP:HOST.IP
告警时间:EVENT.DATE-EVENT.TIME
告警等级:TRIGGER.SEVERITY
告警信息:TRIGGER.NAME:ITEM.VALUE
事件  ID:EVENT.ID

操作细节:-》
操作类型:发送消息
发送到用户:Admin (Zabbix Administrator) 
仅送到:告警  //一定要配置否则邮件发送不成功

恢复操作:TRIGGER.STATUS:TRIGGER.NAME
恢复信息:

恢复主机:HOST.NAME
恢复  IP:HOST.IP
恢复时间:EVENT.DATE-EVENT.TIME
恢复等级:TRIGGER.SEVERITY
恢复信息:TRIGGER.NAME:ITEM.VALUE
恢复  ID:EV

以上是关于最全的zabbix部署(Serveragentproxy)的主要内容,如果未能解决你的问题,请参考以下文章

最全ZABBIX监控系统视频教程及资料分享

史上最全最正确的zabbix监控mysql配置方法

史上最全最正确的zabbix server安装过程

史上最全最正确的zabbix监控tomcat的方法

ZABBIX最全MYSQL自定义监控多实例mysql与主从复制状态没有之一

监控服务zabbix部署