监控及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 sysstatsysstat-9.0.4-27.el6.x86_64[root@c67-7 ~]# vmstat 1[root@c67-7 ~]# mpstat 1Linux 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   %idle11时24分38秒  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.0011时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 -mtotal       used       free     shared    buffers     cachedMem:           992        580        411          0         46        441-/+ buffers/cache:         92        900Swap:         1023          0       1023buffer:写入缓冲区cache:读出缓存区

硬盘

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

网络io

[root@c67-7 ~]# yum install iftop -yiftopnmon可以监控以上所有东西。

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

[root@linux-node1 ~]# mkdir -p /home/lxy/tools[root@linux-node1 ~]# cd /home/lxy/tools/[root@linux-node1 tools]# wget -q http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm[root@linux-node1 tools]# rpm -ivh zabbix-release-2.4-1.el6.noarch.rpmwarning: zabbix-release-2.4-1.el6.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEYPreparing...                ########################################### [100%]1:zabbix-release         ########################################### [100%][root@linux-node1 tools]# rpm -ql zabbix-release/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX/etc/yum.repos.d/zabbix.repo/usr/share/doc/zabbix-release-2.4/usr/share/doc/zabbix-release-2.4/GPL[root@linux-node1 tools]# ll /etc/yum.repos.d/zabbix.repo-rw-r--r-- 1 root root 401 9月  11 2014 /etc/yum.repos.d/zabbix.repo

2.开始安装zabbix

1)保留yum安装的rpm包[root@linux-node1 tools]# sed -i 's#keepcache=1#keepcache=0#g' /etc/yum.conf[root@linux-node1 tools]# grep keepcache /etc/yum.confkeepcache=02)开始安装zabbixyum -y install zabbix zabbix-server zabbix-server-mysql #<==ZABBIX SERVER相关yum -y install zabbix-web zabbix-web-mysql #<==Apache、Php Web界面环境yum -y install zabbix-agent #<== ZABBIX客户端yum -y install mysql-server mysql #<==MySQL客户端与服务端

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 start2)初始化数据库环境创建数据库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 1234563)设置apache时区sed -i 's#\# php_value date.timezone Europe/Riga#php_value date.timezone Asia/Shanghai#g' /etc/httpd/conf.d/zabbix.confgrep Shanghai /etc/httpd/conf.d/zabbix.confphp_value date.timezone Asia/Shanghai4)更改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.confLogFile=/var/log/zabbix/zabbix_server.logDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=zabbix5)启动相关服务[root@linux-node1 ~]# /etc/init.d/zabbix-server startStarting Zabbix server:                                    [确定][root@linux-node1 ~]# /etc/init.d/httpd start正在启动 httpd:                                           [确定][root@linux-node1 ~]# lsof -i:10051|wc -l55[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

分类: linux

转载于:https://www.cnblogs.com/ExMan/p/11002604.html

zabbix监控超详细搭建过程相关推荐

  1. Hadoop集群安装和搭建(全面超详细的过程)

    Hadoop集群安装和搭建(全面超详细的过程) 文章目录 Hadoop集群安装和搭建(全面超详细的过程) 前言 一.虚拟机的安装 二.Linux系统安装 1.环境准备 2.虚拟机安装 三.Centos ...

  2. k8s v1.9.6 超详细搭建步骤

    部署说明 k8s新的版本与之前1.5的部署方式发生改变,官方将kubernetes大组件中的服务例如(kube-proxy.kube-api等服务)剥离出来封装成容器的形式来简化部署的方式.以下为三个 ...

  3. spark集群详细搭建过程及遇到的问题解决(四)

    在spark集群详细搭建过程及遇到的问题解决(三)中,我们将讲述了hadoop的安装过程,在本文中将主要讲述spark的安装配置过程. spark@master:~/spark$ cd hadoop ...

  4. SAS 9.4 的超详细安装过程(保姆级教程)(含安装包+常见问题解决)

    目录:SAS 9.4 的超详细安装过程 一.安装前的准备 1.1 环境准备 1.2 安装包分享(解压密码见最后) 二.安装过程 2.1 下载解压完成 2.2 点击setup.exe安装 2.3 以管理 ...

  5. BFS广度优先遍历寻找最短路径(超详细实现过程)

    广度优先遍历寻找最短路径 最近一直想搞A*算法,发现有部分没理解清楚.于是找到了广度优先遍历寻路算法学习了下,想看看可不可以对写A*有什么帮助.广度优先遍历寻路算法本身并不难,概括来说就是像雷达一样, ...

  6. 图像处理——几种简单的旋转变换的超详细推导过程(点在同一坐标系的变换)(一)

    图像处理--几种简单的旋转变换的超详细推导过程(同一坐标系)(一) 本文主要推导了二维和三维坐标系中的绕点和绕轴的旋转变换,推导过程比较详细,希望可以给大家提供一些帮助. 一.绕原点的旋转(二维) 二 ...

  7. rtmp测试地址_超详细搭建多码率测试环境(成为流媒体高手必经之路)

    0.引言 关注我的朋友,应该都知道,前面我们讲解了如何搭建srs流媒体服务器,链接如下.由于srs流媒体服务器是不支持多码率测试环境,所以不能在上次的环境上继续演示.那本篇文章就要给出一个新方案,就是 ...

  8. 【CDH】超详细-搭建本地大数据研发环境(16G内存+CDH)

    工欲善其事必先利其器,在经过大量的理论学习以后,需要有一个本地的研发环境来进行练手.已经工作的可以不依赖于公司的环境,在家也可以随意的练习.而自学大数据的同学,也可以进行本地练习,大数据是一门偏实践的 ...

  9. Zabbix监控,详细部署

    文章目录 一.Zabbix监控介绍 1.1 Zabbix监控架构 1.2 Zabbix的优点 1.3 Zabbix的缺点 1.4 Zabbix监控系统监控对象 1.5 Zabbix的监控方式 1. 主 ...

最新文章

  1. 真我与小我隔着什么?
  2. PCA与LDA两种降维方法原理的简要对比
  3. 【转载】解决Windows和Ubuntu时间不一致的问题
  4. C++测试与调试知识
  5. 数组工具类Arrays
  6. “□” 表情无法在 Android 设备显示? 快试试 EmojiCompact 表情兼容库
  7. 山东中医院大学计算机科学与技术,2021年山东中医药大学计算机科学与技术专业招生...
  8. stringr | 文本处理方法(Ⅰ-1):字符串处理函数(上)
  9. 软件设计师备考知识04
  10. Oracle正版用户授权
  11. 聪明人懂得深交四种人,绝交三种人!
  12. 前端面试题总汇、常考、笔试题等
  13. mysql嵌套查询是从外向内执行的吗_MySQL嵌套查询
  14. IBM服务器RAID5
  15. 偶遇with ties
  16. 我也可以很极地很阳光
  17. bat 批处理 启动微信 QQ等应用软件可以多开微信
  18. 后端面经(已收到腾讯实习offer)
  19. nodejs安装npm依赖时报错
  20. OSG for Android实现VPB地形,倾斜影像与三维模型加载

热门文章

  1. linux常用基础命令操作收集
  2. Eclipse对于多个Java项目的支持并不友好!
  3. eclipse 安装svn插件
  4. Swift 范的 CGRect、CGSize 和 CGPoint
  5. cocos2dx 大地图分块加载的研究(初)
  6. 第49周星期二PD数据库逆向工程
  7. java 75-76
  8. Oracle中的date与timestamp
  9. OSChina 周四乱弹 —— 画种稻画美食难画吃屎
  10. LeetCode 451. Sort Characters By Frequency