【zabbix】开源服务器监控系统 Server 安装

最近公司2台服务器被黑了拿去挖矿,手上的服务器太多实在管理不过来,于是准备上集群监控。

zabbix看起来不错的样子,开源且有公司维护,而且支持的操作系统还都是最新的发布版本。

监控方面也有很多环境的模板。(没有的话github大概有)

部署方面,可以源码编译,也可以用包管理,还支持docker、虚拟机快速部署,而且清华源有镜像哟。

基本概念:

Agent:安装在被监控服务器的监控程序

Server:核心程序,与Agent通信获取被监控服务器状态

Agent Proxy:Agent代理,可以用于监控内网多台服务器

官方手册的定义说明

 

环境:

  • 香蕉派 BPI M64
  • Debian 10
  • Mariadb
  • Nginx
  • PHP7.3
  • Zabbix 4.0 LTS

 

Server安装:

下载和安装

由于

进入下载页面,下载

这里选择的是Zabbix 4.0 LTS,Debian 10,MySQL

下面会生成相应的安装流程

先把源配置好

# wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-3+buster_all.deb
# dpkg -i zabbix-release_4.0-3+buster_all.deb
# apt update     #先别急着update,可以把源换成国内镜像

注意安装 zabbix-frontend-php 的时候apt会依赖php,php会依赖apache2,如果想用nginx的话,有两个办法:

1、卸载zabbix源,使用debian源,先手动装一下php-fpm,再装zabbix-frontend-php,这样就可以避免依赖apache2了

2、去下载源码包,解压后的 frontends/php 就是用作webroot的目录

这里我选择了下载源码包

# wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.12/zabbix-4.0.12.tar.gz
tar xvf zabbix-4.0.12.tar.gz
cp -r zabbix-4.0.12/frontends/php/ /webroot
# apt install php-fpm nginx
# apt install zabbix-server-mysql zabbix-agent

安装好后php文件路径在/usr/share/zabbix,自己拷走配nginx去,这里就不描述nginx配置了

记得对webroot进行权限配置

chmod 777 webroot
chown -R www-data webroot
chgrp -R www-data webroot

 

php

整理了一下zabbix对php模块的依赖和需要对php.ini的修改。

# apt install php-gd php-xml php-bcmath php-mbstring php-ldap php-mysql

php.ini需要修改如下

vim /etc/php/7.3/fpm/php.ini
date.timezone ="Asia/Shanghai"
post_max_size = 64M
max_execution_time = 300
max_input_time = 300

数据库

创建数据库,并授权localhost密码登录,自己替换想用的用户名和密码

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to [email protected] identified by 'password';
mysql> quit;

导入schema

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

 

如果用debian源安装,未发现官方文档描述的/usr/share/doc/zabbix-server-mysql*/create.sql.gz这个文件,但目录里有个REAMDE.Debian告诉我们应该用下面的方式

zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz \
| mysql -uzabbix -pSECRETPASSWORD zabbix

 

如果发生下面这样的错误,请修改my.cnf
mariadb Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.

[mysqld]
innodb_strict_mode = 0

重启并DROP数据库

# systemctl restart mysqld
# mysql -uroot -p
password
mysql> drop database zabbix;

zabbix

编辑 /etc/zabbix/zabbix_server.conf ,配置数据库,文件自带注释,自己改就行

DBName=zabbix
DBUser=zabbix
DBPassword=password

启动

设置开机自启

systemctl enable zabbix-server zabbix-agent nginx php7.3-fpm

重启zabbix、nginx、php

systemctl restart zabbix-server zabbix-agent nginx php7.3-fpm

完成初始化

打开浏览器访问刚配的nginx地址

这里都在之前php配置的时候修改了,应该都是OK

配置数据库连接

配置php连接到server的端口,默认即可,除非web与server部署不在一起

没权限写入,按照前面说明要chown和chgrp,强烈反对chmod 777

如果特殊环境,不分配写入权限,可以安图上说明下载配置文件手动上传

默认用户名:Admin

默认密码:zabbix

 

0 条评论
    发表一条评论