概述

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

安装mysql

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

[root@iZwxsxe2mkyo9iZ 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安装后的初始密码

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

登录修改密码
mysql -u root -pALTER 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 -pcreate 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 修改下面几行

DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=<password>

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

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

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
如果懒得配置直接关闭就好了
我是直接关闭的,如果你要配置,看下面官方文档里写的

# 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-agentsudo 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 看日志里面其实有写的
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).