本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
本文参考自[runoob.com][1]与[zabbix官方文档][2]整理而成
系统要求:
CentOS 7
或以上
第一部分:MySQL
安装配置
如果当前主机尚未安装
MySQL
,请直接从第三步开始就行
1.安装前,我们可以检测系统是否已安装MySQL
rpm -qa | grep mysql
2.如果你系统有安装,那可以选择进行卸载:
rpm -e mysql
3.安装MySQL
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm #获取zabbix的rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm #手动安装,yum安装也行
yum update #更新当前系统
yum install mysql-server #安装MySQL server端
4.配置权限
chown mysql:mysql -R /var/lib/mysql #更改属主和属组
5.初始化MySQL
mysqld --initialize
6.启动MySQL
systemctl start mysqld
systemctl enable mysqld
7.查看MySQL
运行状态:
systemctl status mysqld #看到running即可
8.验证MySQL
安装与版本信息
mysqladmin --version
mysqladmin Ver 8.42 Distrib 5.6.46, for Linux on x86_64
9.进入MySQL
数据库(默认root
账号是空密码)
mysql
10.设置密码(记得MySQL
命令后面一定要带;分号)
mysqladmin -u root password "new_password";
11.现在测试一下新密码,输入后登录
mysql -u root -p
12.登录MySQL
数据库界面下操作以下步骤
mysql> create database zabbix character set utf8 collate utf8_bin; #谨记要utf8
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> quit;
第二部分:zabbix
安装配置
13.安装软件仓库配置包,这个包包含了yum
(软件包管理器)的配置文件。
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
14.安装web
前端
yum-config-manager --enable rhel-7-server-optional-rpms
15.安装Zabbix server
(适用于 RHEL7
,在 RHEL 6
上弃用
)并使用MySQL
数据库:
yum install zabbix-server-mysql
16.安装 Zabbix
前端(适用于 RHEL 7
,在 RHEL 6
上弃用
)并使用 MySQL
数据库:
yum install zabbix-web-mysql
安装zabbix-get
命令
yum install -y zabbix-get.x86_64
17.使用 MySQL
来导入 Zabbix server
的初始数据库 schema
和数据,
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
18.系统将提示输入新创建的数据库密码;为 Zabbix server/proxy
配置数据库
vim /etc/zabbix/zabbix_server.conf #proxy同理
修改如下
DBHost=localhost #默认是注释的,去掉`#`号注释,如果是分布式部署就要填数据库`IP`
DBName=zabbix
DBUser=zabbix
DBPassword=<password> #默认是注释的,去掉`#`号注释,把`<password>`改为你上面创建密码时的那个密码然后保存退出
19.启动 Zabbix server
进程
service zabbix-server start
20.并在系统启动时让它自启:
systemctl enable zabbix-server
21.设置时区
vim /etc/httpd/conf.d/zabbix.conf
22.默认配置文件中有一段是这样的
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
23.把带
#
的这行的时区Europe/Riga
改为正确的时区,比如我这边改成Asia/Shanghai
,保存退出
##第三部分:web
端配置
24.这时候浏览器输入你的IP或者域名后面加上/zabbix/
,如http://XXX.XXX.XXX.XXX/zabbix/
如果弹出以下窗口则证明安装成功!Zabbix
前端已经就绪!默认的用户名是 Admin
,密码是zabbix
。
![Screenshot_1.png][3]
25.检查以下配置有无错误
![Screenshot_7.png][4]
26.因为前面我们没有更改,此处默认即可
![Screenshot_2.png][5]
27.此处可自定义超级管理员账户,建议更改.
![Screenshot_3.png][6]
28.后面都是下一步下一步了
![Screenshot_4.png][7]
![Screenshot_5.png][8]
29.输入此前配置的账号密码,默认账号是Admin
,密码zabbix
![Screenshot_6.png][9]
第四部分:agent
安装配置
被监控机,最好是安装系统时导入
kickstart
自定义配置文件一劳永逸
30.因为我在zabbix server
上安装的是4.0
的,所以也要装4.0
yum install -y zabbix40-agent.x86_64
31.启动agent
服务并设置开机启动
systemctl start zabbix-agent
systemctl enable zabbix-agent
32.输入以下命令,看到10050
端口起来就OK
了
ss -ntl
注意:如果zabbix server
报错说 no route to host
的话,很可能是agent
端开启了防火墙原因
systemctl status firewalld #查看防火墙状态
firewall-cmd --permanent --add-port=10050/tcp #永久性添加此端口
firewall-cmd --reload #重载配置文件使能生效
firewall-cmd --list-all #确认是否添加成功
33.custom script
实现的前提:在agent
端配置:
- 1.
zabbix
拥有执行相应脚本的权限 visudo
编辑sudo
配置文件,- 将必须拥有终端的
Defaults Requiretty
注释掉;一般云服务商都是默认去掉此行 - 2.添加
zabbix ALL=(ALL)NOPASSWD:ALL
,如下
其实云服务商也是默认添加好了的,但是自己安装的系统的话,就要自己手动添加了
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
34.agent
进程要允许服务端执行远程命令,需要编辑/etc/zabbix/zabbix-agent.conf
文件,如下
### Option: EnableRemoteCommands
# Whether remote commands from Zabbix server are allowed.
# 0 - not allowed
# 1 - allowed
#
# Mandatory: no
# Default:
# EnableRemoteCommands=0 #将注释去掉,并将0改为1
Server=172.19.0.7 #填上zabbix server的IP地址
ServerActive=172.19.0.7
Hostname=Zabbix server #这里填本地主机名
35.重启agent
服务
systemctl restart zabbix-agent