一、环境
zabbix所在服务器系统为centos7,监控的服务器为windows2016和centos7。
二、安装zabbix
官方安装帮助页面
https://www.zabbix.com/cn/download
1、关闭selinux
临时 setenforce 0
永久 /etc/selinux/config
SELINUX=disabled
2、配置zabbix yum源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
3、安装zabbix服务端和zabbix监控端
yum install zabbix-server-mysql zabbix-agent
4、安装zabbix前端
启用scl软件源
yum install centos-release-scl
编辑文件 /etc/yum.repos.d/zabbix.repo 启用源
[zabbix-frontend]
enabled=1
5、安装zabbix前端
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
6、安装数据库
配置mariabd源
/etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl=https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum -y install MariaDB-server MariaDB-client
systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
7、进行MariaDB的相关简单配置
mysql_secure_installation
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
8、创建数据库mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password123';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
导入初始架构和数据,系统将提示您输入新创建的密码。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
9、配置数据库密码
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password123
10、配置PHP时区
编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
11、启动并设置开机启动
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
12、防火墙开放端口
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
firewall-cmd --list-services
三、前端配置
1、连接到新安装的Zabbix前端: http://server_ip/zabbix
环境检查
连接数据库
zabbix服务器监听端口
确认信息
安装完成
2、登录
默认账号密码 Admin zabbix
软件首页
设置中文 Administration - Users - Admin
修改为中文,别忘了修改密码
四、安装windows agent
https://www.zabbix.com/cn/download_agents
在客户机中安装
填入服务器地址,安装完成
在zabbix平台添加主机监控
创建主机 配置 - 主机 - 创建主机
选择群组,输入客户端IP,添加
关联监控模板
zabbix官方windows监控模板,点击更新
稍等一分钟,就会显示zbx在线
查看主机最新数据 监测 - 主机 - 最新数据
五、安装centos7 linux agent
1、关闭selinux
关闭selinux
临时 setenforce 0
永久 /etc/selinux/config
SELINUX=disabled
2、打开防火墙端口,agent端口为10050
firewall-cmd --add-port=10050/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
firewall-cmd --list-services
3.安装zabbix
rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.21-1.el7.x86_64.rpm
4.修改zabbix agent配置
/etc/zabbix/zabbix_agentd.conf
Server=zabbixIP
ServerActive=zabbixIP
Hostname=本机名字
5.启动并开机启动
systemctl start zabbix-agent
systemctl enable zabbix-agent
6.在zabbix平台添加主机并关联linux模板,查看数据
六、linux批量自动上线zabbix-agent
1、zabbix配置自动注册
注意,自动注册即客户端主动连接服务器,所以服务器除了web平台的80端口外,还需要开放TCP10051端口
firewall-cmd --permanent --add-port=10050-10051/tcp
firewall-cmd --reload
firewall-cmd --list-ports
平台 - 配置 - 动作 - Autoregistration actions自动注册
创建动作
元数据中的 Linux 为下方脚本里的 HostMetadata=Linux 严格区分大小写
操作
添加主机
添加主机群组
关联模板
启用动作即可
2、客户主机修改主机名
使用自动注册,那么客户端的名字就非常重要了,更改可以方便识别的主机名
hostnamectl set-hostname 新主机名
3、客户端放置并执行自动脚本,也可配置批量远程执行,大规模上线客户端,此脚本支持centos7/8
#/bin/bash
echo "关闭selinux"
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
setenforce 0
#yum clean all
echo "下载zabbix-agent"
OSVERSION=`cat /etc/redhat-release |awk -F "release " '{print $2}'|awk -F "." '{print $1}'`
rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/$OSVERSION/x86_64/zabbix-agent-5.0.21-1.el$OSVERSION.x86_64.rpm
echo "修改zabbix-agent配置文件"
ipaddr=$(ip a show |grep ens|grep inet |awk '{print $2}'|awk -F '/' '{print $1}')
zabbix_server='192.168.30.130'
hostname=$(hostname)
sed -i "s/^Server=127.0.0.1/Server=${zabbix_server}/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/^ServerActive=127.0.0.1/ServerActive=${zabbix_server}/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/Hostname=Zabbix server/Hostname=${hostname}/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/# HostMetadata=/HostMetadata=Linux/g" /etc/zabbix/zabbix_agentd.conf
echo "防火墙放行zabbix-agent端口"
firewall-cmd --permanent --add-port=10050-10051/tcp
firewall-cmd --reload
echo "启动zabbix-agent服务"
systemctl start zabbix-agent && systemctl enable zabbix-agent
zabbixagentpid=`ps -ef |grep zabbix_agentd|grep -w 'zabbix_agentd'|grep -v 'grep'|awk '{print $2}'`
if [ "$zabbixagentpid" ];then
echo "zabbix agent 正在运行 "
else
echo "zabbix agent 安装失败!!!"
fi
上传服务器,添加执行权限,执行
chmod +x ./centos-zabbix-agent-install.sh
./centos-zabbix-agent-install.sh
脚本报 zabbix agent正在运行 即为正常
4、平台查看上线情况
已自动上线
七、总结
快速简单,你学会了吗