背景
因项目要求,需要在CentOS7上部署一套系统资源监控平台,对系统的CPU、内存、磁盘、网络、进程进行监控和报警。
调研后计划采用基于zabbix的开源监控方案,在CentOS7上,zabbix可使用5.0版本(包含server和agent),5.1版本及以上,均无CentOS7的server
部署zabbix
假设待监控集群有3个节点,host映射如下:
192.168.1.6 zabbix1
192.168.1.7 zabbix2
192.168.1.8 zabbix3
zabbix1:部署zabbix-server、zabbix-agent、mysql
zabbix2:部署zabbix-agent
zabbix3:部署zabbix-agent
修改系统设置(所有节点)
- 修改主机名
hostnamectl set-hostname zabbix
- 设置时区
timedatectl set-timezone Asia/Shanghai
- 关闭selinux
不关闭selinux,zabbix server启动会报错
setenforce 0 && sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config
- 开启防火墙及zabbix相关端口
systemctl start firewalld && systemctl enable firewalld
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --reload
部署MySQL(zabbix1节点)
- 安装MySQL
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
yum install -y mysql57-community-release-el7-8.noarch.rpm
#关闭gpg校验
sed -i 's/^gpgcheck=.*$/gpgcheck=0/' /etc/yum.repos.d/mysql-community.repo
#安装mysql-server
yum install -y mysql-server
- 修改MySQL配置,在末尾添加:
cat << EOF >> /etc/my.cnf
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
EOF
- 启动MySQL
systemctl restart mysqld
- 获取MySQL root用户临时密码
cat /var/log/mysqld.log | grep -i password
- 登录MySQL,卸载validate_password插件
SET PASSWORD = PASSWORD('YhAS0RPo3tnQq!');
UNINSTALL PLUGIN validate_password;
- 修改root用户权限
grant all privileges on *.* to 'root'@'%' identified by 'YhAS0RPo3tnQq!';
部署zabbix server&agent
替换aliyun源(所有节点)
新建脚本zabbix_aliyun.sh,内容如下:
#!/bin/bash
echo -e "请给出要安装的zabbix版本号,建议使用4.x的版本 \033[31musage:./zabbix_aliyun.sh 4.0|4.4|4.5|5.0 \033[0m"
echo "例如要安装4.4版本,在命令行写上 ./zabbix_aliyun.sh 5.0"
if [ -z $1 ];then
exit
fi
VERSION=$1
if [ -f /etc/yum.repos.d/zabbix.repo ];then
rm -rf /etc/repos.d/zabbix.repo
fi
rpm -qa | grep zabbix-release && rpm -e zabbix-release
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/$VERSION/rhel/7/x86_64/zabbix-release-$VERSION-1.el7.noarch.rpm
sed -i "s@zabbix/.*/rhel@zabbix/$VERSION/rhel@g" /etc/yum.repos.d/zabbix.repo
sed -i 's@repo.zabbix.com@mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo
[ $? -eq 0 ] && echo "阿里云的zabbix源替换成功" || exit 1
yum clean all
yum makecache fast
并执行:
chmod u+x zabbix_aliyun.sh && ./zabbix_aliyun.sh 5.0
部署zabbix server(zabbix1节点)
- 安装zabbix server
yum install -y zabbix-server-mysql zabbix-agent
- 安装zabbix frontend
yum install -y centos-release-scl
- 开启zabbix-frontend repo
vim /etc/yum.repos.d/zabbix.repo,做如下修改:
[zabbix-frontend]
...
enabled=1
...
- 安装 zabbix frontend packages
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
- 创建zabbix初始数据库
登录MySQL,执行:
create database zabbix character set utf8 collate utf8_bin;
- 导入数据库schema和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p zabbix
- 配置zabbix server
vim /etc/zabbix/zabbix_server.conf,修改DBUser和DBPassword:
DBUser=root
DBPassword=YhAS0RPo3tnQq!
- 配置zabbix php
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,修改时区:
php_value[date.timezone] = Asia/Shanghai
- 启动zabbix server
#启动
systemctl restart zabbix-server httpd rh-php72-php-fpm
#设置开机自启动
systemctl enable zabbix-server httpd rh-php72-php-fpm
部署zabbix agent(所有节点)
- 安装zabbix agent
yum install -y zabbix-agent
- 配置zabbix agent
vim /etc/zabbix/zabbix_agentd.conf,修改Server、ServerActive、Hostname等项
Server=zabbix1
ServerActive=zabbix1
Hostname=YOUR_HOST_NANE
- 启动zabbix agent
#启动
systemctl restart zabbix-agent
#设置开机自启动
systemctl enable zabbix-agent
配置监控
初始化zabbix
登录zabbix,信息如下:
image.png地址:http://YOUR_IP/zabbix
用户名:Admin
密码:zabbix
点击Next step检查组件是否OK
image.png
点击Next step,配置连接数据库
image.png
输入root帐户的密码,然后点击Next step
image.png
下一步
image.png
下一步
image.png
看到上述提示,说明安装成功。点Finish
image.png
用户名:Admin,密码:zabbix
image.png
更改显示语言为中文
image.png监控配置
-
添加被监控节点
image.png
image.png -
监控CPU、内存、磁盘
image.png
image.png -
监控HTTP服务
image.png
image.png
网友评论