首页 > 其他分享 >zabbix监控超详细搭建过程(转)

zabbix监控超详细搭建过程(转)

时间:2023-06-06 09:56:42浏览次数:44  
标签:mysql etc zabbix 监控 linux node1 root 搭建

监控及zabbix

 

目录:

1       监控分类... 1

1.1        硬件监控... 1

1.2        系统监控... 2

1.3        网络监控... 3

1.4        应用(业务)监控... 3

2       安装zabbix. 3

2.1        安装zabbix服务端... 3

2.2        安装zibbix客户端... 9

2.3        添加zabbix主机组和主机... 9

2.4        创建用户和组... 11

2.5        添加项目及触发器... 13

2.6        设置报警... 16

2.7        自定义模板... 19

2.8        web监控... 20

2.9        分布式监控、客户端主动模式... 21

2.9.1         客户端被动模式... 21

2.9.2         客户端主动模式... 21

2.9.3         zabbix分布式... 22

2.10          自动化监控... 23

2.10.1       zabbix-agent自动注册(使用proxy)... 23

2.10.2       主机探索(不使用proxy,被动模式)... 24

2.10.3       使用zabbix-api 25

2.11      更改中文字体防止乱码... 28

 

1         监控分类

1.1    硬件监控

1、机房巡检。检查服务器各种状态。

2、通过远程控制卡监控。ipmi是一种标注。

ipmi获取不到硬盘状态,比如硬盘坏了,硬盘可以用MegaCli工具。

ipmi简介:http://www.ibm.com/developerworks/cn/linux/l-ipmi/

yum install OpenIPMI ipmitool -y
[root@centos67 ~]# /etc/init.d/ipmi start

1.2    系统监控

1、了解监控对象

2、知道性能的基准线。

cpu监控

cpu调度器

上下文切换

运行队列

cpu使用率

复制代码 复制代码
[root@c67-7 ~]# cat /proc/cpuinfo 

[root@c67-7 ~]# lscpu

[root@c67-7 ~]# uptime  #一般情况小于等于3就是正常

[root@c67-7 ~]# rpm -qa |grep sysstat

sysstat-9.0.4-27.el6.x86_64

[root@c67-7 ~]# vmstat 1

[root@c67-7 ~]# mpstat 1

Linux 2.6.32-573.el6.x86_64 (c67-7)     2015年10月24日  _x86_64_        (1 CPU)

11时24分37秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle

11时24分38秒  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

11时24分39秒  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

用户态(程序运行) 内核态(系统调用,如vi打开文件) 正常比例是70%:30%
复制代码 复制代码

计算类的服务吃cpu,数据库占IO

   

                                     

内存

复制代码 复制代码
[root@c67-7 ~]# free -m

             total       used       free     shared    buffers     cached

Mem:           992        580        411          0         46        441

-/+ buffers/cache:         92        900

Swap:         1023          0       1023

buffer:写入缓冲区

cache:读出缓存区
复制代码 复制代码

硬盘

[root@c67-7 ~]# yum install iotop  -y

iotop

网络io

[root@c67-7 ~]# yum install iftop -y

iftop

nmon可以监控以上所有东西。

 

1.3    网络监控

第三方监控宝等。

使用smokeping监控网络状态,如下图:

 

1.4    应用(业务)监控

使用pwiki监控业务状态

apache监控:通过mod_status模块

http://www.t086.com/code/apache2.2/mod/mod_status.html

nginx监控:类似于apache

memcached监控 使用nc获取状态

redis监控

2 安装zabbix

2.1    安装zabbix服务端

官方文档参考

https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages

1、安装zabbix-release

2.开始安装zabbix

 

3、配置zabbix服务相关

复制代码 复制代码
1)配置mysql

[root@linux-node1 tools]# \cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

[root@linux-node1 tools]# vim /etc/my.cnf

在[mysqld](第26行)标签下增加如下三行后保存

[mysqld]

character-set-server = utf8
init-connect = 'SET NAMES utf8'
collation-server = utf8_general_ci

[root@linux-node1 tools]# /etc/init.d/mysqld start

2)初始化数据库环境

创建数据库

mysql> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

授权数据库

mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

导入表结构

[root@linux-node1 tools]# cd /usr/share/doc/zabbix-server-mysql-2.4.6/create/

[root@linux-node1 create]#  mysql -u root -p zabbix < schema.sql

[root@linux-node1 create]# mysql -u root -p zabbix < images.sql

[root@linux-node1 create]#  mysql -u root -p zabbix < data.sql

[root@linux-node1 create]# mysqladmin -uroot password 123456

3)设置apache时区

sed -i 's#\# php_value date.timezone Europe/Riga#php_value date.timezone Asia/Shanghai#g' /etc/httpd/conf.d/zabbix.conf

grep Shanghai /etc/httpd/conf.d/zabbix.conf

    php_value date.timezone Asia/Shanghai

4)更改zabbix server配置

[root@linux-node1 ~]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak

[root@linux-node1 ~]# sed -i 's@# DBPassword=@DBPassword=zabbix@g' /etc/zabbix/zabbix_server.conf

[root@linux-node1 ~]# sed -i 's@# DBHost=localhost@DBHost=localhost@g' /etc/zabbix/zabbix_server.conf

-------------------------------------------------

vim /etc/zabbix/zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

5)启动相关服务

[root@linux-node1 ~]# /etc/init.d/zabbix-server start

Starting Zabbix server:                                    [确定]

[root@linux-node1 ~]# /etc/init.d/httpd start

正在启动 httpd:                                           [确定]

[root@linux-node1 ~]# lsof -i:10051|wc -l

55

[root@linux-node1 ~]# lsof -i:80|wc -l    

1
复制代码 复制代码

 

0

 

4、web界面安装

 

 

 

上面的图形操作就是创建了一个配置文件,然后如果写错就可以去配置文件改

登录Admin/zabbix

进入后改密码

 

 

2.2    安装zibbix客户端

服务端也安装

rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm yum install zabbix-agent -y

vim /etc/zabbix/zabbix_agentd.conf

81 Server= 10.0.0.7 (服务端ip)

 

grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf   

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

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server= 10.0.0.7  (服务端ip)

ServerActive=127.0.0.1  (服务端ip)

Hostname=Zabbix server

 

/etc/init.d/zabbix-agentd start

2.3    添加zabbix主机组和主机

添加组

 

 

添加主机

 

 

2.4    创建用户和组

zabbix报警是针对用户和用户组的。

创建用户(不要急着存档)

 

 

报警媒介先不填,因为默认的媒介不好用,需要手动添加,一会添加。

 

 

添加完,可以使用新用户登录

2.5    添加项目及触发器

1、客户端添加一个检查用户的key,格式为key,命令

grep UserParameter /etc/zabbix/zabbix_agentd.conf

UserParameter=login-user,uptime | awk -F ' ' '{print $4}'

/etc/init.d/zabbix-agent restart

2、主机通过zabbix-get检查

 yum install zabbix-get -y

zabbix-get  -s 客户主机  -k  命令

[root@linux-node1 ~]# zabbix_get -s 10.0.0.8 -k login-user

login-user  获取登录用户的列表

3、web界面添加

主机界面选定主机,然后点击项目,点创建项目

 

 

4、添加触发器

 

 

此处点添加,然后选择主机

 

 

 

5、创建图形

 

2.6    设置报警

1、设置动作

 

 

 

自定义报警类型

[root@linux-node1 ~]# vim /etc/zabbix/zabbix_server.conf

435 AlertScriptsPath=/usr/lib/zabbix/alertscripts   ##<<设置自定义脚本的路径

[root@linux-node1 alertscripts]# /etc/init.d/zabbix-server restart

之后写相应脚本

脚本要支持三个参数

$1:用户的介质,如邮箱,手机号等

$2:标题

$3:内容

[root@linux-node1 alertscripts]# cat login.sh        

#!/bin/bash

MAIL_TITEL=$2

MAIL_CON=$3

echo "$MAIL_CON"|/bin/mail -s "$MAIL_TITEL" $1

echo "$1 $2 $3">>/tmp/login_zabbix.txt

添加媒介类型

在动作中设置

 

为用户配置示警媒介

 

2.7    自定义模板

创建模板----模板中创建应用集----创建监控项-创建触发器-画图等都搞进模板。

最后主机添加模板

注意点,使用老师的模板脚本,另外添加多个类似模板点克隆再改

[root@lb-node2 zabbix]# cat zabbix_agentd.conf.d/zabbix-linux-plugin.conf 
UserParameter=linux_status[*],/etc/zabbix/zabbix_linux_plugin.sh "$1" "$2" "$3"  #写在/etc/zabbix/zabbix_agentd.conf中

 

 

2.8    web监控

web监控是针对主机的,别忘了触发器

 

 

 

 

2.9    分布式监控、客户端主动模式

2.9.1            客户端被动模式

grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf   

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

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

StartAgents=3

Server= 10.0.0.7

ServerActive=127.0.0.1

Hostname=Zabbix server

2.9.2            客户端主动模式

[root@linux-node2 ~]# grep  '^[a-Z]' /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=10.0.0.7
Hostname=linux-node2.example.com
Include=/etc/zabbix/zabbix_agentd.d/

[root@linux-node2 ~]# /etc/init.d/zabbix-agent restart

服务端克隆模板,把模板里项目全选,批量更新,项目类型改为主动方式

 

然后主机添加项目即可。

#克隆linux OS模板,注意更改连接,连接也是克隆的。

 

2.9.3            zabbix分布式

使用内网yum源

echo '192.168.0.200 mirrors.aliyun.com repo.zabbix.com' >>/etc/hosts

客户端安装zabbix-proxy

[root@linux-node2 ~]# yum install -y zabbix-proxy zabbix-proxy-mysql mysql-server

配置分布式

[root@linux-node2 ~]# rpm -ql zabbix-agent

/etc/init.d/zabbix-agent

/etc/logrotate.d/zabbix-agent

/etc/zabbix/zabbix_agentd.conf

/etc/zabbix/zabbix_agentd.d

/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

/usr/sbin/zabbix_agent

/usr/sbin/zabbix_agentd

/usr/share/doc/zabbix-agent-2.4.6

/usr/share/doc/zabbix-agent-2.4.6/userparameter_examples.conf

/usr/share/doc/zabbix-agent-2.4.6/zabbix_agent.conf

/usr/share/man/man8/zabbix_agentd.8.gz

[root@linux-node2 ~]# rpm -ql zabbix-proxy-mysql

/usr/sbin/zabbix_proxy_mysql

/usr/share/doc/zabbix-proxy-mysql-2.4.6

/usr/share/doc/zabbix-proxy-mysql-2.4.6/create

/usr/share/doc/zabbix-proxy-mysql-2.4.6/create/schema.sql

数据库配置

[root@linux-node2 ~]# /etc/init.d/mysql start

mysql> create database zabbix_proxy character set utf8;

Query OK, 1 row affected (0.00 sec)

 

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

Query OK, 0 rows affected (0.00 sec)

 

mysql> use zabbix_proxy

Database changed

mysql> source /usr/share/doc/zabbix-proxy-mysql-2.4.6/create/schema.sql;

Query OK, 0 rows affected (0.02 sec)

配置文件配置

[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf

ProxyMode=0   #0主动,1被动

Server=10.0.0.7   #主动模式设置

Hostname=proxy-node1  #必须改

LogFile=/var/log/zabbix/zabbix_proxy.log

LogFileSize=0

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

DBName=zabbix_proxy

DBUser=zabbix

DBPassword=zabbix

DBSocket=/var/lib/mysql/mysql.sock

ExternalScripts=/usr/lib/zabbix/externalscripts

[root@linux-node2 ~]# /etc/init.d/zabbix-proxy start

Starting Zabbix proxy:                                     [确定]

[root@linux-node2 ~]# lsof -i:10051

配置界面,管理-分布式(代理)-创建代理-

之后添加主机(选上代理即可),要监控的机器agent配置文件ip改成代理的ip

服务多重启几次,先stop再start

 

2.10              自动化监控

2.10.1        zabbix-agent自动注册(使用proxy)

HostMetadataItem=system.uname

[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf

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

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

StartAgents=0

ServerActive=10.0.0.8  #这里用了代理的ip

Hostname=linux-node2.example.com

HostMetadataItem=system.uname

Include=/etc/zabbix/zabbix_agentd.d/

配置-动作-事件源选择自动注册-创建动作

 

 

2.10.2        主机探索(不使用proxy,被动模式)

 

组态-探索--使用默认的就行,如下,

 

之后创建动作,事件源选探索,上面那个是自动注册

然后剩下同上了

 

2.10.3        使用zabbix-api

https://www.zabbix.com/documentation/2.4/manual/api/reference

[root@linux-node1 ~]# /usr/share/zabbix/api_jsonrpc.php

获取验证

[root@linux-node1 ~]# curl -s -X POST -H 'Content-Type:application/json' -d '

{

    "jsonrpc": "2.0",

    "method": "user.login",

    "params": {

        "user": "Admin",

        "password": "123456"

    },

    "id": 1

}' http://10.0.0.7/zabbix/api_jsonrpc.php | python -mjson.tool

---------上面为输入--下面为输出-----

{

    "id": 1,

    "jsonrpc": "2.0",

    "result": "6981d2f7663ac35b553ce7e4477f7f29"

}

-------

请求api,获取监控主机,带上SessionID

[root@linux-node1 ~]# curl -s -X POST -H 'Content-Type:application/json' -d '

{

    "jsonrpc": "2.0",

    "method": "host.get",

    "params": {

        "output": ["hostid"]

    },

    "auth": "6981d2f7663ac35b553ce7e4477f7f29",

    "id": 2

}' http://10.0.0.7/zabbix/api_jsonrpc.php | python -mjson.tool

------上面为输入,下面为输出----------

{

    "id": 2,

    "jsonrpc": "2.0",

    "result": [

        {

            "hostid": "10084"

        },

        {

            "hostid": "10115"

        }

    ]

}

 

剩下看官网吧,官网提供各种方法。

https://www.zabbix.com/documentation/2.4/manual/api/reference/host/get

 

例子:创建主机,执行下面直接添加。

curl -s -X POST -H 'Content-Type:application/json' -d '

{

    "jsonrpc": "2.0",

    "method": "host.create",

    "params": {

        "host": "Linux server",

        "interfaces": [

            {

                "type": 1,

                "main": 1,

                "useip": 1,

                "ip": "10.0.0.8",

                "dns": "",

                "port": "10050"

            }

        ],

        "groups": [

            {

                "groupid": "2"

            }

        ],

        "templates": [

            {

                "templateid": "10001"

            }

        ],

    },

    "auth": "9d670026e562405100a1a073231e7658",

    "id": 1

}' http://10.0.0.7/zabbix/api_jsonrpc.php | python -mjson.tool

 

2.11              更改中文字体防止乱码

讲自己电脑的字体微软雅黑上传到linix上

[root@lvs1 fonts]# pwd   ##2.2版本

/var/www/html/fonts

[root@lvs1 fonts]# mv DejaVuSans.ttf DejaVuSans1.ttf

[root@lvs1 fonts]# mv  msyh.ttf DejaVuSans.ttf

[root@lvs1 fonts]# ll

总用量 21988

-rw-r--r-- 1 apache apache   741536 4月  22 15:56 DejaVuSans1.ttf

-rw-r--r-- 1 root   root   21767952 6月  11 2009 DejaVuSans.ttf

[root@lvs1 fonts]# chown apache.apache DejaVuSans.ttf

或者直接更改系统的

/usr/share/fonts/dejavu/DejaVuSans.ttf

另外不同版本zabbix字体位置不一样,名字也不一样,下面是本文档的版本

[root@linux-node1 dejavu]# find / -type d -name "fonts"

/var/www/html/fonts

/etc/fonts

/usr/share/zabbix/fonts

/usr/share/fonts

标签:mysql,etc,zabbix,监控,linux,node1,root,搭建
From: https://www.cnblogs.com/xarunxun/p/17459695.html

相关文章

  • AD 域服务简介(一)- 基于 LDAP 的 AD 域服务器搭建及其使用(转)
    一、前言1.1AD域服务什么是目录(directory)呢?日常生活中使用的电话薄内记录着亲朋好友的姓名、电话与地址等数据,它就是telephonedirectory(电话目录);计算机中的文件系统(filesystem)内记录着文件的文件名、大小与日期等数据,它就是filedirectory(文件目录)。如果这些目录内的数......
  • Qt编写视频监控系统78-视频推流到流媒体服务器
    一、前言视频推流作为独立的模块,目前并没有集成到视频监控系统中,目前是可以搭配监控系统一起使用,一般是将添加好的摄像头通道视频流地址打开后,读取视频流重新推到流媒体服务器,然后第三方可以从流媒体服务器拉取视频流地址,相当于订阅分发,可以多路,按照需要处理,谁需要谁就去订阅拉取......
  • stm32开发环境搭建 mdk5 keil 【未完成】
    百度网盘:https://pan.baidu.com/s/1WH3l3_ICLf1w5FMhKeAWaA提取码:7pxa带stm32f4和stm32f1的支持包 破解安装支持包更换汉化包,打开文件所在位置-替换uv4文件更换global——def文件替换主题风格安装astle格式化工具  打开注册机 软件安装——Keil的安装与配置......
  • 使用Node.js搭建的微服务器基本流程
    前言使用Node.js搭建的微服务器,处理注册登录操作的流程详解。主要包括注册,登录两大模块。Node.js项目的搭建基于Express框架mongodb数据库搭建的Web服务器基本配置1.初始化Node.js项目`npminit`2.项目目录结构3.项目结构介绍config:保存项目一些公共的配置db......
  • 搭建本地开发服务器
    原文点此跳转注意在上一个案例的基础上添加本地开发服务器,请保留上个案例的代码。如需要请查看 Webpack使用。搭建本地开发服务器这一个环节是非常有必要的,我们不可能每次修改源代码就重新打包一次。这样的操作是不是太繁琐了。所以本地开发服务器的作用就能体现了,它会自动监听我......
  • Grafana 如何监控容器指标(五)
    Grafana如何监控容器指标(五)1、添加cadvisorCAdvisor是用于收集有关我们容器信息的常用工具。它是普罗米修斯和格拉法纳用来抓取信息和可视化图表、图表、时间序列和其他各种形式的信息的代理人。CAdvisor从我们的容器中收集各种指标,这些信息被普罗米修斯刮擦,然后grafana将数据......
  • 智慧养猪物联网系统如何搭建?有什么功能?
    智慧养猪物联网系统是指通过各类传感器、摄像头、控制器等设备,由网关采集猪场设备的环境数据、生猪数据等,通过有线/无线网络传输到云端,进行可视化展示、数据分析和智能报警,实现对猪场的远程监控和自动化管理。 智慧养猪物联网系统的搭建主要包括以下几个步骤:1、规划设计:根据猪场的......
  • 自主搭建5个精品脚手架,玩转前端提效-重磅首发
    自主搭建5个精品脚手架,玩转前端提效-重磅首发download:3wzxit666comLaravel是一个快速、简洁且高效的PHP框架,被广泛应用于Web开发领域。在企业级电商项目中,使用Laravel进行重构可以提高项目的可维护性和代码质量。为什么要进行重构?随着时间的推移和业务的扩展,企业级电商项目的代码......
  • CentOS7 规划搭建 kubernetes 集群
    前言容器始于OS,OS就是它的土壤。操作系统(OperatingSystem,简称OS)是管理计算机硬件与软件资源的计算机程序,并且为软件运行提供通用服务的系统软件。容器这个技术,不是一个新技术,它其实早就有了,虽然最近这几年才火爆,但是容器完全是一个新瓶装旧酒的玩意,感兴趣的小伙伴们可以更深入去......
  • 学习VUE第一天-环境的搭建
    1.创建vue项目流程:1)2) 3) 4) 5) 6) 7) 8) 9) 等待创建完毕后cd项目名称进入项目内部然后2.启动项目 npm run serve3.删除(不是必须)默认提供的vue文件,记住,删除要把router.js中的路由清空掉,不然会报错4.可以在vue.config.js......