部署包安装zabbix

概述

昨天给树莓派安装上了一个温度传感器,今天想使用zabbix去统计监控树莓派上温度传感器的数据,所以我就开始在我的一台不怎么用的阿里云服务器上安装zabbix了 我的系统是centos 7

安装mysql

首先安装mysql的源 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm yum makecache 安装mysql sudo yum install mysql-community-server 查看一下mysql服务状态

1
2
3
4
5
6
7
[[email protected] bin]# sudo service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html

启动mysql sudo service mysqld start 查看一下mysql安装后的初始密码

1
2
[[email protected] bin]# sudo grep 'temporary password' /var/log/mysqld.log
2017-12-01T07:37:59.254859Z 1 [Note] A temporary password is generated for [email protected]: KR1o.j>Kqmjb

登录修改密码 mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'; 注意如果报错比如下面 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 表示你的密码不符合mysql密码的初始策略,个人觉得最好大写小写字母加数字加符号

安装zabbix

zabbix的安装方式有很多,今天我用的是最传统的,就是使用rpm包来安装,首先安装zabbix的软件源,输入下面命令。 rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm 如果你的服务器不能下载这个软件包的话我推荐挂代理下载然后上传到服务器。 接着创建软件源的缓存 yum makecache 安装zabbix-server-mysql yum install zabbix-server-mysql 安装zabbix-web-mysql yum install zabbix-web-mysql

接着在mysql中创建一个数据库比如名字叫zabbix mysql -uroot -p create database zabbix default charset utf8 COLLATE utf8_general_ci; 记住一定要utf8的数据库不然导入数据会报下面的错误 ERROR 1366 (HY000) at line 3391: Incorrect string value: '\xD0\xA1' for column 'units' at row 1 之后导入数据 zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p zabbix 之后输入数据库密码就导入完成

给Zabbix server/proxy配置数据库 编辑下面这个文件 vim /etc/zabbix/zabbix_server.conf 修改下面几行

1
2
3
4
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=<password>

启动zabbix-server服务 service zabbix-server start

配置zabbix web的php的时区 编辑下面这个文件 vim /etc/httpd/conf.d/zabbix.conf 添加上上海的时区

1
2
3
4
5
6
7
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 Asia/Shanghai

配置selinux 如果懒得配置直接关闭就好了 我是直接关闭的,如果你要配置,看下面官方文档里写的

1
2
3
# setsebool -P httpd_can_connect_zabbix on
If the database is accessible over network (including 'localhost' in case of PostgreSQL), you need to allow Zabbix frontend to connect to the database too:
# setsebool -P httpd_can_network_connect_db on

因为zabbix是使用apache的,所以把它打开,之后用浏览器访问web界面 service httpd start web界面是ip/zabbix

安装的话和安装一个网站没什么区别,下一步下一步配置完数据库就好了 默认账号Admin密码zabbix 登录后记住要修改密码 点击右上角人的图标,点击change password就好了 安装zabbix agent 因为要监控树莓派,所以要在树莓派上安装zabbix-agent sudo apt install zabbix-agent sudo service zabbix-agent start 就好了,树莓派的源自带的

安装好zabbix之后的几个问题

安装zabbix不是一帆风顺的,他妈的安装完成之后也不是一帆风顺的

  • zabbix状态错误(zabbix服务器端运行中 不) 首先服务启动成功上面吓着active并不一定是成功了,你要记住看日志,我这个错误出现在数据库配置错误了,首先你得确认数据库配置正确,密码,用户,还有dbsocket的路径都得对,幸好zabbix的日志很人性化

  • zabbix-agent的错误 这个agent就是监控主机的agent 就是因为我第一次zabbix状态错误之后没有重启zabbix-agent而已 Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refused 看日志里面其实有写的

1
2
3
  1862:20171201:171526.238 active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to [[127.0.0.1]:10051]: [111] Connection refused)
  1857:20171201:171613.531 Got signal [signal:15(SIGTERM),sender_pid:1880,sender_uid:0,reason:0]. Exiting ...
  1857:20171201:171613.534 Zabbix Agent stopped. Zabbix 3.4.4 (revision 74338).

欢迎关注我的博客 www.bboy.app Have Fun