Zabbix安装配置篇

Zabbix实战 / 2020-01-08

知识共享许可协议
本作品采用知识共享署名-非商业性使用 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 
世间微尘里 独爱茶酒中