首页 > 其他分享 >Zabbix01 Zabbix安装和基础功能

Zabbix01 Zabbix安装和基础功能

时间:2024-09-07 21:46:40浏览次数:14  
标签:安装 zabbix agent server Zabbix mysql root Zabbix01 模板

商业监控方案

#从各个地区来监测网络情况
http://ping.chinaz.com/       站长之家    免费
https://www.jiankongbao.com/   监控宝
...

#云服务自带云监控系统

 

Zabbix 架构

#zabbix web为php程序
如果公司规模小,zabbix server,db和zabbix web装在一台机器上
如果公司规模大,zabbix server和zabbix web装在一天机器上,db装在一台机器上

 

Zabbix 部署

# zabbix server,db和zabbix web装在一台机器上, 内存配大些,这里配4G
zabbix server    10.0.0.151
zabbix agent    10.0.0.152

zabbix server安装

#容器安装不推荐,会有额外资源消耗。性能受影响,不如直接部署在物理服务器上(小公司无所谓)

#二进制包部署
https://www.zabbix.com/cn/    #官网地址
官网点下载,选6.0TLS,Ubuntu,22.04,[Server,Frontend,Agent(3个都包含)],mysql,nginx
#根据选择完下面提示的步骤操作
#自动会把源也修改了,省的自己修改
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

#安装数据库
[root@zabbix-server ~]# apt install -y mysql-server

#创建初始数据库
# mysql
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
#允许在不启用二进制日志的情况下开启函数创建
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
#导入初始架构和数据
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -ppassword zabbix
#把log_bin_trust_function_creators改回去
# mysql
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

#为Zabbix server配置数据库
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
DBPassword=password

#为Zabbix前端配置PHP
[root@zabbix-server ~]# vim /etc/zabbix/nginx.conf
listen 80;
server_name zabbix.magedu.org;

#有可能zabbix当中装了apache2,这里直接禁用apache2。(本次测试中没发现apache2服务)
systemctl mask apache2    #这样就无法启动

#让nginx生效
[root@zabbix-server ~]#nginx -s reload

#启动zabbix-server,并开机自启
[root@zabbix-server ~]#systemctl enable --now zabbix-server.service

#设置host文件,zabbix-web连接数据库通过页面设置
#浏览器输入
zabbix.magedu.org
#选择语言,默认为英文,可修改为中文,需要有中文包,没有的话,如下安装(测试重启才能选中文)
#CentOS安装中文包,再修改语言,否则无法选择
[root@zabbix-server ~]#yum -y install langpacks-zh_CN
#Ubuntu安装下面中文包
[root@zabbix-server ~]#apt -y install language-pack-zh-hans

#设置数据库配置,输入密码,相当于设置php连接mysql
#设置主机名(左上角有个说明,不填也没事),时区选择
#如果是CentOS下面文件
/etc/zabbix/web/zabbix.conf.php
#如果是Ubuntu则下面文件
/usr/share/zabbix/conf/zabbix.conf.php 实质也是/etc/zabbix/web/zabbix.conf.php软链接

#登录 默认用户 Admin   密码 zabbix

#后续中文会有字符乱码的情况,是因为版权问题,可以从windows中拷贝到zabbix中替换
#将中文字体上传到 Zabbix Server 的目录 /usr/share/zabbix/assets/fonts

zabbix agent安装

zabbix-agent        #1版本 c开发
zabbix-agent2.0        #2版本 go开发

#同样在官网下载中点击配置,注意和server端zabbix版本一致
#6.0TLS,Ubuntu,22.04; 这次选agent1(目前主流), 如果不是并发很高,1代2代没什么区别

1.安装zabbix-agent
[root@zabbix-agent ~]#wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
[root@zabbix-agent ~]#dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
#这里把源改成清华大学的,加快速度(包较小,不改没事)
[root@zabbix-agent ~]#sed -i 's#https://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#' /etc/apt/sources.list.d/zabbix.list
[root@zabbix-agent ~]#apt update
[root@zabbix-agent ~]#apt install zabbix-agent -y

2.agent配置授权哪个zabbix server(默认不能用,必须改)
[root@zabbix-agent ~]#dpkg -L zabbix-agent
/lib/systemd/system/zabbix-agent.service
[root@zabbix-agent ~]#cat /lib/systemd/system/zabbix-agent.service
Environment="CONFFILE=/etc/zabbix/zabbix_agentd.conf"
ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE
...
#所以要修改agent的配置文件为 /etc/zabbix/zabbix_agentd.conf

[root@zabbix-agent ~]#vim /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.151
[root@zabbix-agent ~]#systemctl restart zabbix-agent.service

#zabbix server端检查是否可以连接agent端,如没有zabbix_get命令就安装
[root@zabbix-server ~]#apt install zabbix-get
# -k 后面跟监控项
[root@zabbix-server ~]#zabbix_get -s 10.0.0.152 -k 'agent.ping'
1    #说明连接成功

3.zabbix server 同意监控agent,添加主机
#在zabbix web网页端左侧配置下的主机,右侧点击创建主机
#主机名称输入 10.0.0.152  
#可见的名称输入  10.0.0.152-ubuntu2024
#群组输入  Linux servers(选择已有的),M56(可以创建新的标签)
#接口选agent    IP:10.0.0.152      IP    port:10050
#点击添加

4.监控什么?指定监控项
使用内置模板,很多常见的监控项的集合
内置的模板关联至主机上
#在zabbix web网页端左侧配置下的主机,点击主机
#在模板输入linux会搜索,选Linux by Zabbix agent(默认模板)

#如果要在windows上装agent,在zabbix官网点击下载,右上方点击Zabbix Agents栏,OS里面有windows系统
#amd64   64位cpu   ENCRYPTION加密(OpenSSL安全些)   MSI为安装包/Archive解压直接能用

#监控项有些是by zabbix agent, 有些没有。一般情况下用带zabbix agent的,因为可以同时捕捉系统的状态,更详细

 

监控 Nginx 服务

通过状态页监控

#agent端
[root@zabbix-agent ~]#yum install nginx -y
#配置状态页
[root@zabbix-agent ~]#vim /etc/nginx/sites-enabled/default
location = /basic_status {
                stub_status;
        }
[root@zabbix-agent ~]#nginx -s reload

#在zabbix web网页端左侧配置下的主机,点击主机
#在模板输入nginx会搜索,选nginx by Zabbix agent,点更新
#如nginx状态页路径修改了,再次点击主机进入详情,点击宏栏目,点击继承以及主机宏中进行修改

#注意如果是没有agent情况下监控nginx,在配置主机时,接口协议端口任意填写,ip地址要真实。其他选项一致。

 

监控 PHP-FPM 服务

通过状态页监控

#agent端
[root@zabbix-agent ~]#apt update && apt -y install php-fpm
#配置状态页
[root@zabbix-agent ~]#vim /etc/php/8.1/fpm/pool.d/www.conf
pm.status_path = /status    #放开注释
ping.path = /ping

#修改nginx的配置
#Ubuntu22.04
[root@ubuntu2204 ~]#vim /etc/nginx/sites-enabled/default
 server {
   .......
   location ~ \.php|/status|/ping$ {
       root /data/php;
       fastcgi_pass unix:/run/php/php8.1-fpm.sock;
       include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     }
     ......
[root@zabbix-agent ~]#nginx -s reload

#模拟工作环境(不做也没关系)
[root@zabbix-agent ~]#mkdir /data/php -p
[root@zabbix-agent ~]#vim /data/php/index.php
<?php
phpinfo();
?>

[root@zabbix-agent ~]#systemctl restart php8.1-fpm.service

zabbix-web添加php监控模板

#在zabbix web网页端左侧配置下的主机,点击主机
#在模板输入php会搜索,选PHP-FPM by Zabbix agent模板,点更新

不使用zabbix agent监控php

#在zabbix web网页端左侧配置下的主机,点击主机
#在模板输入php会搜索,选PHP-FPM by HTTP模板
#这里不是靠接口里设定的ip地址,而是宏定义里的地址决定(属于zabbix的缺陷)
#点击宏栏,点击继承以及主机宏,把{$PHP_FPM.HOST}改为被监控的IP地址

 

案例: 将Zabbix Server的 MySQL 数据库迁移到独立的 MySQL 服务器

# 10.0.0.153   mysql服务器
#安装,注意版本要和原来的mysql版本一致
[root@ubuntu ~]#apt install mysql-server
#修改配置允许远程连接
[root@ubuntu ~]#sed -i '/127.0.0.1/s/^/#/' /etc/mysql/mysql.conf.d/mysqld.cnf
#重启服务
[root@ubuntu ~]#systemctl restart mysql


#zabbix服务器
#停止zabbix,保证不再生成新的数据到mysql中
[root@zabbix-server ~]#systemctl stop zabbix-server.service
#备份,这里可以用事务,不用也没事
[root@zabbix-server ~]#mysqldump -B zabbix > zabbix.sql
#把sql拷贝到mysql服务器
[root@zabbix-server ~]#scp zabbix.sql 10.0.0.153:

#mysql服务器
#进入mysql,创建远端连接账号
mysql
mysql> create user zabbix@'10.0.0.%' identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@'10.0.0.%';
#允许在不启用二进制日志的情况下开启函数创建(导入时设置下和上面一样)
mysql> set global log_bin_trust_function_creators = 1;
#导入库
[root@ubuntu ~]#mysql < zabbix.sql
#完成后恢复配置
mysql
mysql> set global log_bin_trust_function_creators = 0;
quit

#zabbix服务器
#测试连接
[root@zabbix-server ~]#mysql -uzabbix -ppassword -h 10.0.0.153 -e status
#停止zabbix服务器上的mysql,不用了
[root@zabbix-server ~]#systemctl stop mysql

#修改zabbix server的配置,连接到新mysql
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=10.0.0.153
#修改zabbix web的配置,修改php的配置文件
[root@zabbix-server ~]#vim /etc/zabbix/web/zabbix.conf.php
$DB['SERVER']                   = '10.0.0.153';

#启动zabbix server
[root@zabbix-server ~]#systemctl start zabbix-server.service

 

自定义模板 Templates 和监控项 Items

#自定义模板和监控项实现过程
1.在Zabbix 被监控主机上安装Agent

2.在Zabbix 被监控主机上编写自定义监控项的取值的脚本,并添加执行权限

3.在Zabbix 被监控主机上的Agent配置文件中添加自定义监控项,指定 key 和 对 key 赋值的脚本及参数
#可以写在里面,太过臃肿,可以写在里面包含的文件中
[root@zabbix-agent ~]#vim /etc/zabbix/zabbix_agentd.conf
#名字不重要,以conf结尾即可  里面写 UserParameter= 监控项名,命令
[root@zabbix-agent ~]#vim /etc/zabbix/zabbix_agentd.d/tes.conf
UserParameter=user_online_number,who | wc -l
#重启后,远端agent就可以用这个测试项测试了
[root@zabbix-agent ~]#systemctl restart zabbix-agent.service

4.在Zabbix Server 上使用 zabbix_get 工具测试是否能取到自定义监控项信息
[root@zabbix-agent ~]#zabbix_agentd -t user_online_number
user_online_number                            [t|2]
[root@zabbix-server ~]#zabbix_get -s 10.0.0.152 -k 'user_online_number'
2
#这时候,agent端在web端已可单独创user_online_number监控项,进行监控了

5/在Zabbix Web 创建模板,在模板中添加自定义监控项
#在左侧配置下点击模板,点击创建模板,输入模板名称template-m56,选择组,点击添加
#在左侧配置下点击模板,名称输入m56搜索,找到对应模板点击监控项,点击添加监控项
#输入名称,键值user_online_number,点击添加(模板就有这个监控项了)

6.在Zabbix Web 将模板关联至被监控的主机
#点击左侧配置下主机,点击主机,选择新添加的模板,点击更新

7.导出自定义模板生成一个对应的文件,可以在其它 Zabbix Server 导入复用
#其他机器还需要监控执行的命令
#把脚本考到另一台agent上 10.0.0.153
[root@zabbix-agent ~]#scp /etc/zabbix/zabbix_agentd.d/tes.conf 10.0.0.202:/etc/zabbix/zabbix_agentd.d
#另一台agen 10.0.0.153上,重启服务生效
[root@zabbix-agent2 ~]#systemctl restart zabbix-agent.service
#在zabbix server上测试远端10.0.0.153能否使用监控项
[root@zabbix-server ~]#zabbix_get -s 10.0.0.153 -k 'user_online_number'
2
#在web端,10.0.0.153主机上配置对应模板

自定义监控项配置

支持参数

#下面列出一种不同参数,相同方法的监控项
#捕捉不同类型网络状态的数量
[root@zabbix-agent ~]#vim /etc/zabbix/zabbix_agentd.d/tes.conf
UserParameter=tcp_state[*],netstat -ant |grep -c $1
# *表示输入任何内容   $1表示输入的第一个参数
#UserParameter=test[*],echo $1 $2 $3

#另一台机器上测试
[root@zabbix-server ~]#zabbix_get -s 10.0.0.152 -k 'tcp_state[TIME_WAIT]'

#在web端配置增加监控项,键值写tcp_state[LISTEN],添加7个(中途可以点击克隆修改)
#可以把模板导出,直接编辑模板文件添加(uuid不能一样) 

以后换公司了,可以把以前的监控模板也拷过去(注意脚本也得拷贝)
#上面操作注意版本要一致,如果不一致,可以如下操作:
生产机4.0 --5.0(新机器)

测试机安装zabbix相同版本4.0
将生产机的模板导出
将生产机的模板导入到测试机
升级测试机5.0(这里的升级是直接再装一次5.0,会自动把之前的配置修改成5.0的配置)
导出测试机5.0的模板

判断端口是否处于监听状态

#net.tcp.listen[port]        1表示开,0表示没开
#在模板中添加监听80端口
键值: net.tcp.listen[80]

 

使用值映射

#在配置模板下,在模板里点击值映射,输入名称和映射关系,点添加,点更新
#在模板里,点击对应监控项,在值映射中选择前面添加的值映射

 

触发器 Triggers

#5和6版本格式不同

判断80服务是否挂了
#在配置下模板中,在模板中点击触发器,点击创建触发器
#输入名称如:http服务异常,严重性选择。在表达式右侧点击添加,监控项点击选择监控项
#功能选择last最后一次,结果选 = 0   自动会生成表达式
#注意下面是已启动,点击添加

#可设置web提醒声音,在用户设置下配置,点正在发送信息栏,勾前端信息中,更新

 

标签:安装,zabbix,agent,server,Zabbix,mysql,root,Zabbix01,模板
From: https://www.cnblogs.com/ludingchao/p/18402198

相关文章

  • 更改 Windows Kits (SDK) 安装路径
    Windowskits默认情况下会装在安装VisualStudio所在磁盘的根目录,当VisualStudio没有安装在c盘的时候,在工具盘看到一个WindowsKit的目录,会导致强迫症患者不能忍。今天探索了下操作步骤:运行regedit打开注册表。找到 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mi......
  • MySQL8.0Windows安装说明
    目录MySQL8.0Windows安装说明下载并安装压缩包初始化数据安装服务操作服务设置密码windows界面服务管理dll库缺失问题将MySQL添加全局路径MySQL8.0Windows安装说明下载并安装压缩包下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-winx64.zip安装:解压......
  • Centos7怎么安装Redis5.0
    Centos7怎么安装Redis5.0转载:https://www.php.cn/faq/553616.htmlWBOY发布:2023-06-0119:08:49转载1737人浏览过 一、安装gcc依赖由于 redis 是用C语言开发,安装之前必先确认是否安装gcc环境(gcc-v),如果没有安装,执行以下命令进行安装 [root@localho......
  • 【最新发布】Adobe After Effects 2024安装包下载及安装全指南
    【最新发布】Adobe After Effects 2024安装包下载及安装全指南【最新发布】AdobeAfterEffects2024安装包下载及安装全指南AdobeAfterEffects2024是Adobe公司最新推出的视频后期制作软件,专为动态图形和视觉效果设计而打造。无论你是专业的视频编辑师、动画师,还是......
  • Arch搭建Nas系统(1)之一:安装Arch系统.md
    1.1准备U盘准备一个8G以上的U盘1.2准备安装包下载Arch的ISO文件:下载地址:Download.Arch下载Ventoy安装工具下载地址:Download.Ventoy1.2.2安装Ventoy解压ventoy压缩包,执行Ventoy2Disk.exe设备选择U盘,点击安装.等待安装完成1.2.3复制ISO文件到u盘将下载好的a......
  • 华为鸿蒙手机安装好谷歌商店,GMS服务,谷歌三件套,谷歌框架后,下载的一些应用无法正常定位,
    最近有有小伙伴问为什么他下载好一些定位的软件,能正常的进入,定位权限也是开启的,但是就是定不了位,,给我们小伙伴带来了烦恼,那我们怎么解决呢?我这里给大家讲解一下,避免大家以后遇见后不知道怎么去解决解决方法1.首先我们需要在我们的手机设置里面找到我们的应用和服务,进去后点......
  • Windows与linux中docker的安装与使用
    windos中安装使用docker下载Docker_Desktop安装包进入docker官网下载Docker_Desktop:https://www.docker.com/启用wsl我们搜索“启用或关闭Windows功能”,打开后勾选适用于Linux的Windows子系统Docker_Desktop设置出现DockerEnginestopped的解决办法示例:问......
  • Anaconda安装教程,超详细超简单(2024最新版)
     本文讲解的是Anaconda安装教程、anaconda、怎么安装anaconda、Anaconda下载。扫盲:先装Python还是先装anaconda?关于先装Python还是先装Anaconda,这主要取决于你的具体需求和使用场景。不过,对于大多数初学者和数据分析、机器学习、科学计算等领域的使用者来说,推荐先安装Ana......
  • 安装nvm管理nodejs包,保姆级教程!
    安装nvm管理nodejs包,保姆级教程!一.本期所需网址nvm:github下载nvm:手册文档下载nvm命令查看:查看命令二.下载nvm1.github下载点击链接下载:https://github.com/coreybutler/nvm-windows/releases选择.exe文件下载安装开始安装双击打开安装程序同意协议下一步......