丹调生活 发表于 2018-12-28 12:09:49

inotify+rsync+mysql主主复制+keepalived实现zabbix高可用

  思路:主备机通过inotify+rsync实现文件同步,通过mysql主主复制实现数据同步,同一时刻只有一台服务器能对外提供zabbix服务,web端登陆虚ip访问,被监控主机通过配置虚ip来完成监控。

  配置:
主机
ip
操作系统
zabbix版本
mysql版本
inotify版本
rsync版本
备注
zabbix-server01172.27.9.80
Centos7.3.1611  zabbix_server (Zabbix) 3.4.10
5.7.223.143.1.2关闭防火墙和selinux
zabbix-server02172.27.9.81
Centos7.3.1611  zabbix_server (Zabbix) 3.4.10
5.7.223.143.1.2关闭防火墙和selinux  Part 1 基础环境安装

  zabbix安装

  1.安装源码库配置部署包
  这个部署包包含了yum配置文件:
# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm  2.安装Zabbix-server部署包
# yum -y install zabbix-server-mysql zabbix-web-mysqlhttp://s1.运维网.com/images/20180620/1529458173576333.png

  3.安装初始化数据库
  3.1下载并安装MySQL官方的 Yum Repository
# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm  3.2查看当前可用的Mysql安装源
# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community                  51
mysql-tools-community/x86_64      MySQL Tools Community                     63
mysql57-community/x86_64          MySQL 5.7 Community Server               267  3.3安装MySQL数据库
# yum -y install mysql-community-server  总下载量:205M,请耐心等待。
http://s1.运维网.com/images/20180620/1529458722221809.png
  安装完成,系统自带的mariadb被覆盖。
  3.4启动mysql服务并设置开机启动
# systemctl start mysqld.service
# systemctl enable mysqld.service  3.5登陆mysql
  安装好后,会在my.cnf文件中自动生成一个密码
# cat /var/log/mysqld.log | grep password
2018-06-20T09:40:53.666115Z 1 A temporary password is generated for root@localhost: )>b5dXb+sLei
# mysql -uroot -p  输入密码“)>b5dXb+sLei”
  3.6修改密码规则(默认密码规则太复杂不容易记忆)
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.01 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)  3.7重置密码(登录数据库后需首先重置密码才能进行后续操作)
mysql> set password = password('mysql123');
Query OK, 0 rows affected, 1 warning (0.00 sec)  3.8创建数据库和zabbix用户并授权
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix123';
Query OK, 0 rows affected, 1 warning (0.00 sec)  3.9导入初始架构(Schema)和数据
# cd /usr/share/doc/zabbix-server-mysql-3.4.10/
#zcat create.sql.gz | mysql -uzabbix -pzabbix123 -D zabbix
mysql: Using a password on the command line interface can be insecure.  执行过程中会有一个关于密码的告警,忽略。
  查看执行结果:
mysql> show tables from zabbix;
mysql> select count(*) tables,table_schema from information_schema.tableswhere table_schema = 'zabbix';http://s1.运维网.com/images/20180620/1529459761537912.png

http://s1.运维网.com/images/20180620/1529459918558162.png
  一共有140张表
  4.启动Zabbix Server进程
  4.1在zabbix_server.conf中编辑数据库配置
  解注释DBHost:
# sed -i 's/^ *# *DBHost=.*/DBHost=localhost/g' /etc/zabbix/zabbix_server.conf  修改zabbix密码:
# sed -i 's/^ *# *DBPassword=.*/DBPassword=zabbix123/g' /etc/zabbix/zabbix_server.conf  4.2修改zabbix安装目录属主和权限
# chown -R zabbix:zabbix /etc/zabbix/
# chmod -R 755 /etc/zabbix/  4.3启动zabbix-server服务,并设置开机自启

# systemctl restart zabbix-server
# systemctl enable zabbix-server  5.编辑Zabbix前端的PHP配置
  5.1设置时区为Asia/Shanghai:

# sed -i.bak 's/^ *# *php_value date.timezone Europe\/Riga/php_value date.timezone Asia\/Shanghai/g' /etc/httpd/conf.d/zabbix.conf  5.2启动apache服务,并设置开机自启
# systemctl restart httpd
# systemctl enable httpd  6.登陆zabbix
  访问地址:http://localhost/zabbix

http://s1.运维网.com/images/20180620/1529475338967772.png

  下一步:
http://s1.运维网.com/images/20180620/1529475363111002.png
  下一步:
http://s1.运维网.com/images/20180620/1529475392766516.png

  输入密码“zabbix123”,下一步:
http://s1.运维网.com/images/20180622/1529634272793626.png
  name填写为‘myzabbix81’和zabbix-server02的‘myzabbix82’区分,host和port默认,下一步:
http://s1.运维网.com/images/20180620/1529475734798615.png

  信息汇总确认,下一步:
http://s1.运维网.com/images/20180620/1529476573952351.png
  下载配置文件并另存为‘/etc/zabbix/web/zabbix.conf.php’,注意属主为zabbix:zabbix,权限为755:
# cd /etc/zabbix/web/
# ll
总用量 8
-rwxr-xr-x. 1 zabbix zabbix 1036 6月   4 19:40 maintenance.inc.php
-rwxr-xr-x1 zabbix zabbix427 6月20 22:38 zabbix.conf.php
# more zabbix.conf.php
页: [1]
查看完整版本: inotify+rsync+mysql主主复制+keepalived实现zabbix高可用