运维实战 Zabbix监控入门
Zabbix的安装
稳定起见使用LTS
长期支持版本.
Server
端的安装
##安装Zabbix后端
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum install zabbix-server-mysql zabbix-agent
##编辑添加依赖所需的scl源
cd /etc/yum.repos.d/
vim Cache.repo
##内容
[CentScl]
name=CentOS Release Scl
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
##安装Zabbix前端
yum clean all
vim zabbix.repo
##开启软件源
[zabbix-frontend]
...
enabled=1
...
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
##安装mariadb充当数据库
yum install mariadb-server
systemctl enable --now mariadb.service
##创建初始数据库
mysql
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;
##倒入初始架构和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
##修改配置文件
vim /etc/zabbix/zabbix_server.conf
##修改其中的
DBPassword=password
##修改配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
##修改其中的
php_value[date.timezone] = Asia/Shanghai
##设置开机自启并启用
systemctl enable --now zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
浏览器打开172.25.5.1/zabbix
,出现初始化界面
依次进行操作输入后端相关信息后可以进入登陆界面.
默认登陆账户Admin
,密码zabbix
.
若操作无误,登陆后可以看到监控页面的主页.
Client
端的配置
与Server
端相比,Client
端的配置就简单很多了,只需要安装zabbix-agent
即可.
安装后编辑其配置文件
vim /etc/zabbix/zabbix_agentd.conf
##文件中的有效内容
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.25.5.1
ServerActive=172.25.5.1
Hostname=Server2
Include=/etc/zabbix/zabbix_agentd.d/*.conf
##启用Client端
systemctl enable --now zabbix-agent.service
监控主机的添加
监控主机的添加可以分为手动添加和自动发现.
手动添加的操作方式:
配置
> 主机
> 创建主机
模板
中可以选择预设的监控项:如监控硬盘/CPU的选项等等.
如果选择了模板,在主机页面选择监控项
可以看到监控项的列表.
自动发现的添加方式
- 保证
Client
端按照上面的配置进行了设置 配置
>自动发现
>创建自动发现规则
为了保证能够在发现主机时自动添加模板和分组,还需要创建相对应的动作.
配置
>动作
>创建动作
Zabbix API
方式操作配置
Zabbix
允许以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问.它广泛用于:
- 创建新的应用程序以使用Zabbix;
- 将Zabbix与第三方软件集成;
- 自动执行常规任务.
以下为部分Zabbix API
的简单尝试
登陆并获取身份验证令牌
由于后续的API
操作都需要身分验证令牌(Token
),因此我们需要通过登陆验证获取一个.
curl -XPOST http://172.25.5.1/zabbix/api_jsonrpc.php -H 'Content-Type: application/json-rpc' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1,
"auth": null
}' | python2 -m json.tool
##运行结果返回值
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 229 0 68 100 161 511 1210 --:--:-- --:--:-- --:--:-- 1721
{
"id": 1,
"