树莓派—安装使用zabbix监控系统信息

缘起

    最近的树莓派非常的不稳定,经常运行2天左右即卡死红灯常亮、网卡常亮死翘翘了。

    所以在看一些合适的系统监控软件,方便对pi的运行情况做详细的记录,也方便以后对树莓派的各项系统运行数据做精确的分析。比如cpu占用率,cpu温度这些数据。

   经过对比分析,最终选择了zabbix作为系统监控的软件,运行在树莓派上貌似有一点点吃力,但总体上是没什么问题的。


折腾过程

 1、采用apt安装

    发现各种教程里的安装方法在树莓派上是行不通的,由于zabbix官方虽然提供了apt的安装方式,但是提供的架构中不包含arm的,所以直接apt安装的路子行不通了。

2、源码安装

    既然apt安装行不通,那自然只能用源码安装了,自己折腾了一下,发现其中有蛮多坑的,下面直接引述一篇文章描述安装过程(之所以选择这篇文章,是因为这篇文章解决了安装完成zabbix后zabbix-agent服务启动失败的问题)。

下面是源码编译安装方法:


1、编译安装zabbix-server和zabbix-agent

groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin
sudo apt-get update && sudo apt-get install snmp libsnmp-dev -y
wget -c http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
tar zxf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3./configure --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install

2、建立zabbix数据库以及用户,密码123456

mysql -uroot p
create database zabbix default character set utf8 collate utf8_general_ci;
grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456'flush privileges;

3、导入数据库,其中第一个数据库导入比较久,请耐心等一下

cd database/mysql
mysql -uzabbix -p123456 zabbix < schema.sql
mysql -uzabbix -p123456 zabbix < images.sql
mysql -uzabbix -p123456 zabbix < data.sql

4、修改zabbix-server配置文件/usr/local/etc/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
ListenIP=0.0.0.0

 5、修改zabbix-agent配置文件/usr/local/etc/zabbix_agentd.conf

User=zabbix

6、设置开机启动

启动脚本在源码目录下misc/init.d/debian目录中,源码提供的启动脚本如果用update-rc.d设置开机启动的话会提示missing LSB tags and overrides,稍作修改就可以了,在# Copyright (C) 2001-2016 Zabbix SIA下面加入这几行

注意:请严格按照下面说的添加这些信息,实测在树莓派上不添加会导致zabbix-agent服务启动出错

misc/init.d/debian/zabbix-server

### BEGIN INIT INFO
# Provides:          zabbix-server
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:         0 1 6
# Short-Description: Start zabbix-server daemon
### END INIT INFO

misc/init.d/debian/zabbix-agent

### BEGIN INIT INFO
# Provides:          zabbix-agent
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:         0 1 6
# Short-Description: Start zabbix-agent daemon
### END INIT INFO
cp misc/init.d/debian/zabbix-* /etc/init.d
update-rc.d -f zabbix-server defaults
update-rc.d -f zabbix-agent defaults

7、启动zabbix-server和zabbix-agent

/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agent start

8、安装web前端,拷贝到网站目录中

cp -r frontends/php /home/www/zabbix

9、通过浏览器访问网站,然后根据提示进行安装。
  安装完成后登录即可进行管理,默认的用户名是admin,默认密码是zabbix。
 下面在其他需要监控的主机上安装zabbix,只需要编译安装zabbix-agent即可。


那些坑们

    折腾的过程中,发现坑真的是很多。。。

1、数据库连接不上

    开始尝试使用apt安装,不行后使用别人编译好的deb包进行安装,结果发现无论如何安装完成后前端页面都不能选择mysql数据库,经过安装php-mysqli,能够填写数据了,但还是连不上,最终就放弃了。


2、zabbix-agent服务起不来

    折腾了很久后,源码编译,数据库导入也都没问题了,直接运行zabbix-server和zabbix-agend 可以正常启动界面,同时能够监控日常的系统性能情况。

    但是设置完开机启动后死活agent起不来,报错如下

48562258:20140806:114839.765 Got signal [signal:15(SIGTERM),sender_pid:41812044,sender_uid: 705,reason:0]. Exiting ...
65142810:20140806:114839.765 Got signal [signal:15(SIGTERM),sender_pid:41812044,sender_uid: 705,reason:0]. Exiting ...
48103484:20140806:114839.767 Got signal [signal:15(SIGTERM),sender_pid:41812044,sender_uid: 705,reason:0]. Exiting ...
6095320:20140806:114839.772 Got signal [signal:15(SIGTERM),sender_pid:41812044,sender_uid: 705,reason:0]. Exiting ...
41812044:20140806:114839.774 Zabbix Agent stopped. Zabbix 2.2.5 (revision 47411).


经过各种花式折腾,最终通过上面折腾过程中的,在服务器中添加了信息后就可以正常开机启动啦!!


参考文档

https://0066.in/archives/610

https://www.zabbix.com/documentation/3.4/zh/manual/installation/install

https://blog.csdn.net/qq_24038207/article/details/80673067

https://www.kancloud.cn/tuna_dai_/day01/344733

https://github.com/whorusq/zabbix-learning/blob/master/Zabbix3.x%E6%9C%8D%E5%8A%A1%E5%AE%89%E8%A3%85%E3%80%81%E9%85%8D%E7%BD%AE%E5%8F%8A%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E5%A4%84%E7%90%86.md



已有2位网友发表了看法:

1Lmolezz 2019-05-05 14:19:30 回复
怎么监控cpu的温度呢? [email protected]
1Lroot 2019-05-05 18:22:36 回复
@molezz /sys/class/thermal/thermal_zone0/temp 这个文件中的内容除以1000就是cpu的摄氏温度了

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。