zabbix学习笔记

部署服务器端

方法一

二进制安装

1.准备机器,环境初始化

[root@tech linux3 ~]# ifconfig ethe|awk 'NR==2{print $2}10.211.55.10

#关闭防火墙

sed -i's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsystemctl disable --now firewalld

2.zabbix-server内存尽量更大点,4G为好

3.获取zabbix的下载源

rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

4.更换zabbix.repo源,为阿里的

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

5.清空缓存,下载zabbix服务端和代理

yum clean all

yum makecache

yum install zabbix-server-mysql zabbix-agent -y

6.安装工具,可以在机器上,使用多个版本的软件,并且不会影响到整个系统的依赖环境

yum install centos-release-scl -y

7.修改zabbix-front前端源,修改如下参数Izabbix-frontend]

name=Zabbix Official Repository frontend - $basearchbaseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontendenabled=1 # 开启这里的参数

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gPg/RPM-GPG-KEY-ZABBIX-A14FE591

8.安装zabbix前端环境,且是安装到sc1环境下

yum install zabbix-web-mysq1-scl zabbix-apache-conf-scl -y

9.安装zabbix所需的数据库,mariadb

yum install mariadb-server -y

10.配置数据库,开机启动

[root@tech linux3 ~]# systemctl enable --now mariadb

Created symlink from /etc/systemd/system/multi-user,target.wants/mariadb.service to/usr/lib/systemd/system/mariadb.service.

11.初始化数据库,设置密码

12.添加数据库用户,以及zabbix所需的数据库信息

MariaDB [(none)]>create database zabbix character set utf8 collate utf8_bin;

Query OK,1 row affected(0.00 sec)

MariaDB [(none)]>create user zabbix@localhost identified by '123456';

Query Ok,0 rows affected(0.00 sec)

MariaDB[(none)]>grant all privileges on zabbix.* to zabbix@localhost;

Query Ok,0 rows affected(0.00 sec)

MariaDB[(none)]> flush privileges;

Query Ok,0 rows affected(0.00 sec)

MariaDB[(none)]> exit;

Bye

13.使用zabbix-mysql命令,导入数据库信息

#mysql -u用户名 -p 数据库名

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

14.修改zabbix server配置文件,修改数据库的密码

vi /etc/zabbix/zabbix_server.conf

[root@tech linux3 ~]# grep'^DBPa'/etc/zabbix/zabbix server.confDBPassword=chaoge666

15.修改zabbix的php配置文件

/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

[root@tech linux3 ~]# grep 'timezone" /etc/opt/rh/rh-php72/php-fpm.d/zabbix.confphp_value[date.timezone]= Asia/Shanghai

16.启动zabbix相关服务器

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm

systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

方法二

脚本安装

#!/bin/bash

#Zabbix-Server 5.0

#安装zabbix源、aliyun YUM源

cd /etc/yum.repos.d/

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

sed -i.bak 's#Zabbix Official Repository' zabbix.repo

sed -i 's#enabled=0#enabled=1#' zabbix.repo

#安装zabbix

yum -y install zabbix-server-mysql zabbix-agent

yum -y install centos-release-scl

yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl

#安装启动 mariadb数据库

yum -y install mariadb mariadb-server httpd

systemctl start mariadb.service

#创建数据库

mysql -e 'create database zabbix character set utf8 collate utf8_bin;'

mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";'

mysql -e 'flush privileges;'

#导入数据

zcat /usr/share/doc/zabbix-server-mysql-5.0.3/create.sql.gz|mysql -uzabbix -pzabbix -Dzabbix

#配置zabbixserver连接mysql

sed -i.bak '/^# DBPassword=*/i DBPassword=zabbix' /etc/zabbix/zabbix_server.conf

#添加时区

sed -i.bak '/^; php_value[date.timezone]*/i php_value[date.timezone] = Asia/Shanghai' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

#解决中文乱码

yum -y install wqy-microhei-fonts

\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

#启动服务

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm

#开机自启动

systemctl enable mariadb.service

systemctl enable httpd

systemctl enable zabbix-server

#输出信息

echo "浏览器访问 http://`hostname -I|awk '{print $1}'`/zabbix"

部署客户端

同步时间地区

Yum install -y ntpdate

ntpdate -u ntp.aliyun.com

mv /etc/localtime{,.bak}

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

安装

Yum install -y zabbix-agent2

# 查看配置文件

/etc/zabbix/zabbix_agent2.conf

# 启动命令

[root@linux4 ~]# ls -l /usr/sbin/zabbix_agent2

-rwxr-xr-x1 root root 16053000 Nov 30 19:51 /usr/sbin/zabbix agent2

# 启动客户端

[root@linux5 ~]# systemctl enable --now zabbix-agent2

Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent2.service to /usr/lib/systemd/system/zabbix-agent2.service.

[root@linux5 ~]# netstat -tnlp l grep zabbix

# 修改agent2配置文件,查看配置信息,根据自己的机器环境修改即可

[root@zbx-agentÃ5 ~]# grep -Ev '^#|^$'/etc/zabbix/zabbix agent2.conf

PidFile=/var/run/zabbix/zabbix agent2.pid

LogFile=/var/log/zabbix/zabbix agent2.log

LogFilesize=0

Server=10.211.55.10

ServerActive=10.211.55.10

Hostname=zbx-agent05

Include=/etc/zabbix/zabbix agent2.d/*.conf

ControlSocket=/tmp/agent.sock

重启

Systemctl restart zabbix-agent2

尝试连通性

zabbix_get -s '192.168.15.135' -p 10050 -k 'agent.ping’

连接监测客户端

找模板将需要监控设备ip绑定即可

Zabbix默认监测本端服务器

模板默认监测

进程 网络 Cpu Gpu 磁盘 内存

系统平均负载 缓存使用效率 网络系统 网络接口

自定义监测

第一

命令行层面

自带key用法

zabbix_get -s '192.168.15.135' -p 10050 -k 'system.uname'

zabbix_get -s '192.168.15.135' -p 10050 -k 'system.hostname'

zabbix_get -s '192.168.15.135' -p 10050 -k 'vfs.fs.size[/,used]’

zabbix_get -s '192.168.15.135' -p 10050 -k 'vfs.fs.size[/,total]’

1.明确需要执行的linux命令

Who |wc -l

2.手动创建zabbix的配置文件,用于自定义key/etc/zabbix/zabbix agent2.conf

3.创建配置文件,以及内容如下

[root@zbx-agent05 zabbix _agent2.d]# pwd

/etc/zabbix/zabbix_agent2.d

[root@zbx-agent05 zabbix _agent2.d]#cat userparameter_login.conf

UserParameter=login.user,who |wc -l

第二

建模板监控项

添加流程

创建模板

创建应用集(好比是一个文件夹,里面放入一堆监控项)

创建监控项,自定义item,你具体想监控的内容

创建触发器,当监控项获取到值的时候,进行和触发器比较,判断,决定是否报警

创建图形

将具体的主机和该模板链接,关联

邮件报警

登录邮箱找到pop3,smtp,imap新增授权密即可,注意需要编辑报警发送模板

左下角user应用

自定义聚合图形

自动添加主机监控

思路

克隆监控模板

自动注册和自动发现

使用zabbix的api接口,利用cur1语言,或者开发自己的编程脚本如python等。

我们日常使用的各种软件,都是提供了API接口,给开发人员进行修改以及获取数据的。

接口的定义。

curl -pe:application/json' -d'{"jsonrpc":"2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"auth":null,"id":0}' "http://192.168.15.136/zabbix/api_jsonrpc.php”

监控实施方案

硬件监控

应用服务监控

互联网上有大量的开源模板可以下载使用

rsync服务监控

监控服务器的873端口是存活的

有关端口的监控,使用zabbix自带的 key net.tcp.port[,873]进行数据推拉,检测效果

监控NFS服务是否正常

通过key检测111端口 net.tcp.port[,111]

showmount -e ip | wc -l

监控mysq1数据库是否正常

通过端口 net.tcp.port[,3306]

mysql -uroot -p

zabbix自带了mysq1的监控模板,直接添加主板和mysql的主机关联即可

web服务器监控

net.tcp.port[,80]

zabbix也提供了对web服务器的监控模板

监控服务的具体方法

端口检测的命令

netstat

SS

lsof

结合grep查看端口是否存活

在服务端

[root@tech linux3 ~]# zabbix_get -s '192.168.15.135' -p 10050 -k 'net.tcp.port[,80]'

查询进程信息

Ps

通过客户端连接

web服务器用 curl查询

mysql 用sql语句连接验证

缓存数据库服务 数据读写验证

自动发现

练习

什么是自动发现,自动注册

自动发现(agent2是被动模式)

zabbix server主动的去发现所有的客户端,然后将客户端的信息,登记在服务端的机器上

缺点是,zabbix-server压力会较大

如果说你定义了一个网段 100~200网段,耗时较久,且压力大

自动注册(agent主动模式)

zabbix agent2主动上报自己的信息,发给zabbxi-server缺点是agent2可能找不到server(配置文件写错了,网络不通)

被动模式,主动模式的区别(站在agent2立场)

被动模式,对于agent2来说,就是server来找agent2拿数据

1.准备好一台客户端机器

[root@zbx-agent05 ~]# systemctl is-active zabbix-agent2active

2.配置hosts解析

[root@zbx-agent05 ~]# cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

10.211.55.10 tech linux3

10.211.85.12 zbx-agent05

3.配置连接

自动发现

发现后动作

发现

连接上可以

查看服务器日志

tail -f /var/log/zabbix/zabbix_server.log

自动注册

1.准备机器

server

agent2

2.修改agent2的配置文件

[root@zbx-agent05 ~]# grep -Ev '^#|^$'/etc/zabbix/zabbix agent2.coPidFile=/var/run/zabbix/zabbix _agent2.pidLogFile=/var/log/zabbix/zabbix_agent2.logLogFilesize=0

Server=10.211.55.10 #写入服务端配置ServerActive=10.211.55.10#写入服务端地址Hostname=zbx-agent05 #agent2的主机名HostnameItem=system.hostnameInclude=/etc/zabbix/zabbix agent2.d/*.confControlSocket=/tmp/agent.sock

3.验证通信结果

[root@tech linux3 ~]# zabbix get-s '10.211.55.12'-p 10050 -k 'agent.ping‘

4配置连接

分布式监控

分布式监控的作用

分担server的集中式压力

Agent>proxy>server

多机房之间的网络延时问题

上海机房>proxy >server

部署分布式zabbix-proxy

1.环境准备,准备3台机器

10.211.55.10zabbix-server5.0

10.211.55.11zabbix-proxy

# 关闭agent04

10.211.55.12zabbix-agent2agent05

2.在学习阶段,关闭防火墙

具体的操作步骤如下

  1. 确保之前所学的自动发现,注册已经关闭
  2. 2.zabbix-server服务端无须变动,运行着就好

3.准备好客户端机器,agent2机器

4.来配置zabbix-proxy代理服务器,并且部署数据库,用于存储agent2发来的数据,最终发给zabbix.

server

#配置zabbix5.0的yum源

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

#修改源地址

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

5.安装proxy,以及数据库

yum install zabbix-proxy-mysql zabbix-get -y

6启动数据库,配置数据库用户,存储zabbix-agent2信息数据

yum install mariadb-server mariadb -y

systemctl start mariadb

# 数据库sql设置

mysql -uroot -p

create database zabbix_proxy character set utf8 collate utf8_bin;

grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';

flush privileges;

7导入数据

查看安装时路径

查看sql文件在哪

rpm -ql zabbix-proxy-mysql

导入

zcat /usr/share/doc/zabbix-proxy-mysql-5.0.42/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy

#修改zabbxi-proxy配置文件,链接数据库的信息

sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf

sed -i 's#Server=127.8.0.1#Server=192.168.15.136#' /etc/zabbix/zabbix_proxy.conf

sed -i 's#Hostname=Zabbix proxy#Hostname=gitlab#' /etc/zabbix/zabbix_proxy.conf

8检查代理服务器的配置文件zabbix-proxy

grep '^[a-z]’ /etc/zabbix/zabbix_proxy.conf

9启动代理服务

systemctl restart zabbix-proxy

systemctl restart zabbix-agent2

10在web上添加代理

11客户端连接代理

grep '^[a-z]' /etc/zabbix/zabbix agent2.conf

客户端配置文件IP需要改成proxy的

查看日志tail -f /var/log/zabbix/zabbix_proxy.log

SNMP

监控打印机,路由器

简单网络管理

1服务端安装snmp监控程序

yum -y install net-snmp net-snmp-utils

2开启snmp的配置

sed -i.ori '57a view systemview included .1' /etc/snmp/snmpd.conf

3.使用snmp命令

#-v 指定协议版本  -c 指定暗号 sysname snmp的key

Snmpwalk -v 2 -c public 127.0.0.1 sysname

4web添加

更换模板

  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值