Zabbix 集群安装(Centos 7.2)
本文主要介绍 Zabbix 集群安装记录。操作环境以 Centos 7 和 Zabbix 3.4 安装三节点集群。
环境说明
- centos 7.2 操作系统
- zibbix 3.4.2
集群环境:
hostname | ip |
---|---|
server | 192.168.80.101 |
agent1 | 192.168.80.102 |
agent2 | 192.168.80.103 |
server 主机安装的服务:
- LNMP 一键安装包,安装了 Nginx、Mariadb、PHP
- 安装 zabbix web 管理页面
- 安装 Zabbix-server 节点
- 安装 Zabbix-agent 节点
agent1 主机 安装的服务:
agent 主机就是需要监控的主机,所以只要安装 zabbix-agent 服务就可以了。
然后可以通过 Web 管理页面将 agent 节点添加进去做监控
安装
server 节点
安装 LNMP / LAMP
执行 lnmp 一键安装包
1 | wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp |
安装
- mariadb
- php
- nginx
调整参数:
vim /usr/local/php/etc/php.ini
修改 393 行参数为 300
1 | 393 max_input_time = 300 |
重新加载 php。即可 继续
1 | lnmp php-fpm reload |
安装 Zabbix3.4
-
下载
1
wget -O zabbix-3.4.11.tar.gz https://excellmedia.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.11/zabbix-3.4.11.tar.gz
-
安装依赖库
1
yum -y install net-snmp-devel libxml2-devel libcurl-devel libevent libevent-devel gcc
-
解压编译
在编译时可以指定在编译内容,这里在 server 主机同时编译了 zabbix-server 和 zabbix-agent 服务
1
2
3tar zxvf zabbix-3.4.11.tar.gz
cd zabbix-3.4.11
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2如果要使用加密,需增加
--with-openssl
参数进行编译错误解决:
error: MySQL library not found
1
yum install -y mariadb-devel
error: Invalid Net-SNMP directory - unable to find net-snmp-config
解决
1
yum install net-snmp-devel
-
安装
1
make && make install
-
创建用户和用户组
1
2
3groupadd zabbix
useradd -r -g zabbix zabbix
chown -R zabbix:zabbix /usr/local/zabbix -
准备 mysql
1
2
3
4
5mysql -uroot -p
create database if not exists zabbix default character set utf8 collate utf8_general_ci;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
exit;导入顺序不能错
1
2
3mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql在使用完全分离的集群的搭建的时候,下面两点注意下:
- 如果只是代理可以不用导入
database/mysql/images.sql
- 如果只是代理可以不用导入
database/mysql/data.sql
- 如果只是代理可以不用导入
-
创建日志目录
1
2mkdir /var/log/zabbix
chown zabbix:zabbix /var/log/zabbix -
配置
配置 zabbix-server 服务:
vim /usr/local/zabbix/etc/zabbix_server.conf
1
2
3
4
5
6
7LogFile=/var/log/zabbix/server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPort=3306
DBPassword=zabbix
DBSocket=/tmp/mysql.sock配置 zabbix-agent 服务:
注意 agent 被他们写成
agentd
vim /usr/local/zabbix/etc/zabbix_agentd.conf
1
2
3
4LogFile=/var/log/zabbix/agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=server这里有几点要注意的:
DBSocket=/tmp/mysql.sock
这一项要打开,要不然会连不上数据库Hostname
最好指定一个名词,如果在 Web 上出现问题方便查找
-
配置启动服务
1
2
3
4
5ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
ln -s /usr/local/zabbix/bin/* /usr/local/bin/
cp /root/zabbix-3.4.11/misc/init.d/tru64/zabbix_* /etc/init.d/
chmod +x /etc/init.d/zabbix_* -
启动 server 和 agent
1
2/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start -
注册到服务中
1
2chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
配置开机自启
1 | chkconfig zabbix_server on |
后面启动的时候可以使用服务方式启动
1 | service zabbix_server start |
如果报错 service zabbix_server does not support chkconfig
只需要编辑对应的文件在 #!/bin/sh
后 加入一行内容就好了
1 |
|
检查端口
1 | [root@server zabbix-3.4.11]# netstat -ntlp |
看看 zabbix_server
/ zabbix_agentd
是否都起来了。如果没有可用查看日志检查
部署 Web
1 | mkdir /home/wwwroot/default/zabbix |
访问 Web 初始化引导
访问zabbix:http://ip/zabbix/index.php ,初始化安装的默认账号:Admin,密码:zabbix
agent 节点安装
-
下载
1
wget -O zabbix-3.4.11.tar.gz https://excellmedia.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.11/zabbix-3.4.11.tar.gz
-
安装依赖库
1
yum -y install net-snmp-devel libxml2-devel libcurl-devel libevent libevent-devel gcc
-
解压编译
在编译时可以指定在编译内容,这里在 server 主机同时编译了 zabbix-server 和 zabbix-agent 服务
1
2
3tar zxvf zabbix-3.4.11.tar.gz
cd zabbix-3.4.11
./configure --prefix=/usr/local/zabbix --enable-agent如果要使用加密,需增加
--with-openssl
参数进行编译。当然前提是 server 节点支持加密 -
安装
1
make && make install
-
创建用户和用户组
1
2
3groupadd zabbix
useradd -r -g zabbix zabbix
chown -R zabbix:zabbix /usr/local/zabbix -
创建日志目录
1
2mkdir /var/log/zabbix
chown zabbix:zabbix /var/log/zabbix可选:加密配置
生成 PSK string ,并保存
/usr/local/zabbix/etc/zabbix_agentd.psk
1
openssl rand -hex 32 > /usr/local/zabbix/etc/zabbix_agentd.psk
授权
1
2chown zabbix:zabbix /usr/local/zabbix/etc/zabbix_agentd.psk
chmod 644 /usr/local/zabbix/etc/zabbix_agentd.psk -
配置
配置 zabbix-agent 服务:
注意 agent 被他们写成
agentd
vim /usr/local/zabbix/etc/zabbix_agentd.conf
1
2
3
4LogFile=/var/log/zabbix/agentd.log
Server=192.168.80.101
ServerActive=192.168.80.101
Hostname=agent1加密配置:
1
2
3
4TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/usr/local/zabbix/etc/zabbix_agentd.psk
TLSPSKIdentity=PSK001这里有几点要注意的:
- 要正确配置 server ip
Hostname
最好指定一个名词,如果在 Web 上出现问题方便查找
-
配置启动服务
1
2
3
4
5ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
ln -s /usr/local/zabbix/bin/* /usr/local/bin/
cp /root/zabbix-3.4.11/misc/init.d/tru64/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd -
启动 server 和 agent
1
/etc/init.d/zabbix_agentd start
配置开机自启
1
chkconfig zabbix_agentd on
如果报错
service zabbix_agentd does not support chkconfig
只需要编辑对应的文件在
#!/bin/sh
后 加入一行内容就好了1
2
# chkconfig: 2345 10 90加密检测
1
zabbix_get-s127.0.0.1-k"system.cpu.load[all,avg1]"--tls-connect=psk--tls-psk-identity="PSK001"--tls-psk-file=/usr/local/zabbix/etc/zabbix_agentd.psk
-
在 Web 页面添加到主机中
记录
通过 yum 安装后的服务启动文件
cat /usr/lib/systemd/system/zabbix-server.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/run/zabbix/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.targetcat /usr/lib/systemd/system/zabbix-agent.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/run/zabbix/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target