开源运维zabbix安装

以前一直用PTRG来进行运维,但在功能性上总感觉有一定欠缺,特别是在服务器监控和主动报警方面。因为国产开源堡垒机jumpserver用得一直很不错,所以第一选择肯定是国内的开源。目标放在了腾讯的蓝鲸社区版上,仔细阅读了文档,发现对我来说功能太强,软件过于庞大,于是放弃。兜兜转转后,选择了zabbix功能够用,对环境要求也不高。下面记录一下安装过程备忘。

一、安装准备

zabbix目前是6.0版,zabbix应该是我目前看到中文化最好的官网了,不但提供了很详细的安装步骤,难得的是官网会根据你选择的安装环境给出较详细的安装说明。

官网地址:下载Zabbix

如上图所示,zabbix 6.0和5.4都只对centos 8提供支持,而我目前正好有现成的CENTOS 7环境,所以我选择了5.0安装。其实根据文档zabbix 3.0的功能,我就足够了。

二、开始安装

1、安装 Zabbix repository

#rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#yum clean all

2、安装 Zabbix server and agent

#yum install zabbix-server-mysql zabbix-agent

3、安装 Zabbix frontend

Enable Red Hat Software Collections

#yum install centos-release-scl

4、编辑配置文件 /etc/yum.repos.d/zabbix.repo,允许zabbix-frontend repository

[zabbix-frontend]
...
enabled=1
...

5、安装Zabbix frontend packages.

#yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl

以上zabbix运行相关除数据库外全部安装完成

6、安装配置mysql

首先必须添加mysql社区repo,再安装:

#sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

#yum -y install mysql-community-server

安装mysql5.7,同时自动替换掉MariaDB。

我在安装时的时候报错,提示某一个包安装不成功。错误提示为GPG校验错误。

失败原因
GPG对于包的源key的验证没有通过

解决办法
在yum install 版本后面加上 --nogpgcheck,即可绕过GPG验证成功安装。比如yum install mysql-community-server --nogpgcheck

启动mysql服务:

systemctl start mysqld.service

加开机启动

systemctl enable mysqld.service

首次使用创建root管理员和密码       

(mysql -u root -p输入密码,从5.7开始默认密码不再为空)

密码查看

# grep 'temporary password' /var/log/mysqld.log 
2016-07-08T02:25:46.311098Z 1 [Note] A temporary password is generated for root@localhost: MtPqF0/oN5zo

即初始密码为 MtPqF0/oN5zo    (密码是随机产生的,每台机器产生的都不一样哦)

2.登录及修改密码:

登录之后 第一步必须先修改密码,否则其他操作都执行不了。

修改密码的方法:

mysql> alter user root@localhost identified by 'tyzZ001!';
Query OK, 0 rows affected (0.00 sec)

新修改的密码中 必须包含 大小写字母数字及符号

7、创建初始数据库

在数据库主机上运行以下代码。其中第二行注意将zabbix的密码替换成你自己的密码。

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。

如果你的mysql是5.7以下,在导入架构前先务必检查mysql的设置,

如遇“Specified key was too long; max key length is 767 byte”错误提示。是为因在mysql在5.6中默认 innodb_large_prefix 参数值为off,需要修改为on。

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

8、为Zabbix server配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf,修改为前面创建的密码

DBPassword=password

9、为Zabbix前端配置PHP

编辑配置文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf,去掉注释并设置 'listen' and 'server_name'为你自己服务对应的值

# listen 80;
# server_name example.com;

编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, 在listen.acl_users添加 nginx

listen.acl_users = apache,nginx

并修改时区将 php_value[date.timezone] = Europe/Riga,修改为 Asia/Shanghai

php_value[date.timezone] = Asia/Shanghai

10、启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启:

# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

11、配置Zabbix前端

连接到新安装的Zabbix前端: http://server_ip_or_name,这里是你设置的IP,当然对应的80端口一定要在防火墙开启,防火墙我还是习惯用iptables,具体方法见另一篇文章centos备忘。

打开界面后,开始进行设置。

设置过程为,1、检查环境,这步只要前面安装到位,基本没有问题;2、配置数据库;3、配置zabbix服务端口和名称;最后完成配置,出现登录页面。

二、使用zabbix

安装完成后,在浏览器打开zabbix服务器IP,可登录WEB管理后台。默认用户为Admin,默认密码为zabbix

1、安装zabbix客户端(linux系统)

a.修改客户端yum源

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

b.清理缓存

yum clean all

c.安装zabbix客户端

yum install -y zabbix-agent

d.修改配置文件(写服务端IP)

vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,172.16.1.61 ={{ ansible_eth1.ipv4.address }} 变量
ServerActive=127.0.0.1,172.16.1.61 ={{ ansible_defult_ipv4.address }} 变量

e.启动服务加入开机自启

systemctl start zabbix-agent
systemctl enable zabbix-agent

f.检查端口

netstat -lntup
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 21845/zabbix_agentd

g.防火墙增加zabbix-agent服务

firewall-cmd --add-service=zabbix-agent

也可以针对zabbix服务器开放规则

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="10050" accept'
把192.168.1.1换成你的zabbix服务器地址
配置完成后,需要重新装载firewall。重新启动firewalld服务。
firewall-cmd --reload
service firewalld restart

如果是iptables,则用

iptables -I INPUT -p tcp --dport 10050 -j ACCEPT

针对zabbix服务器开放规则

iptables -I INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT

最后保存iptables配置

service iptables save

2、windows客户端安装

下载地址:Download Zabbix agents

根据你操作系统的情况选择对应安装包,这里不需要安装agents 2。

三、故障排除

1、日志分析

zabbix日志位置 /var/log/zabbix/下,可通过查看日志查找故障原因。

2、安装完成后,不能启动zabbix,界面中提示运行“否”。

分析日志后,发现有“zabbix cannot bind socket..”提示,原因是selinux权限不对。若没有较高安全要求,可以关闭selinux,关闭后。重启服务器,zabbix运行正常。

3、语言切换为中文后,图表内中文显示不正常。

原因:zabbix缺少中文字体。

解决办法:将windows/fonts下的任意字体上传给服务器使用,并修改相关配置文件。我是将win10自带的微软雅黑msyh.ttc上传到服务器 /usr/share/zabbix/assets/fonts,并将文件名改为msyh.ttf,标准扩展名。然后修改 /usr/share/zabbix/include下的defines.inc.php,找到其中的 define('ZBX_GRAPH_FONT_NAME'),将默认值graphfont 修改为msyh ,然后刷新网页即可。

未经允许不得转载:生于七零年代 » 开源运维zabbix安装

赞 (2) 打赏

评论

3+4=

觉得文章有用就打赏一下文章作者

微信扫一扫打赏