您的位置:时时app平台注册网站 > 时时app平台注册网站 > zabbix 3.0.4 监控windows 服务

zabbix 3.0.4 监控windows 服务

2019-11-14 16:20

 

3.2.5 在zabbix-agent端配置nginx键值配置文件

[root@nginx zabbix_agentd.d]# pwd/etc/zabbix/zabbix_agentd.d[root@nginx zabbix_agentd.d]# cat nginx.conf UserParameter=nginx.active,/usr/bin/curl -s "http://127.0.0.1:80/nginx-status" | grep "Active" | awk '{print $NF}'UserParameter=nginx.status[*],/etc/zabbix/scripts/nginx_status.sh $1#重启agent客户端[root@nginx zabbix_agentd.d]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

Zabbix Proxy

流程: zabbix-server --> zabbix proxy --> zabbix agent

图片 1

官方文档

?

1 yum install zabbix-proxy zabbix-proxy-mysql mariadb-server -y

?

1 systemctl start mariadb

zabbix proxy数据导入

?

12345 mysqlcreate database zabbix_proxy character set utf8;grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';<br>exitcd /usr/share/doc/zabbix-proxy-mysql-3.0.5/zcat schema.sql.gz |mysql -uzabbix_proxy -pzabbix_proxy zabbix_proxy

配置文件修改

?

123456 vim /etc/zabbix/zabbix_proxy.conf Server=192.168.137.11 # zabbix server地址Hostname=zabbix-proxyDBHost=localhostDBUser=zabbix_proxyDBPassword=zabbix_proxy

启动systemctl start zabbix-proxy

页面创建zabbix-proxy

图片 2

代理监控的汇报主机设置

vim/etc/zabbix/zabbix_agentd.conf

?

123 ServerActive=192.168.137.12StartAgents=0Hostname=linux-node2

页面设置

图片 3

图片 4

重启systemctl restart zabbix-agent.service

PerfCounter = UserPerfCountercpu,"Processor(_Total)% Processor Time",3

3.2.3 编写nginx状态监控脚本

#下面是nginx状态监控抓取脚本,内容如下:[root@nginx scripts]# cat nginx_status.sh #!/bin/bash# Set VariablesHOST="127.0.0.1"PORT="80"#Functions to return nginx statsfunction active(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Active" | awk '{print $NF}'}function reading(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Reading" | awk '{print $2}'}function writing(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | grep "Writing" | awk '{print $4}'}function accepts(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | awk 'NR==3' | awk '{print $1}'}function handled(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | awk 'NR==3' | awk '{print $2}'}function requests(){    /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null | awk 'NR==3' | awk '{print $3}'}function ping(){    /sbin/pidof nginx | wc -l}# Run the requested function$1

MySQL监控

使用percona监控插件监控Mysql

参考文档

yum仓库

此插件依赖php和php-mysql

?

1 yum install -y php php-mysql

按照参考文档进行后续安装

?

1 yum install percona-zabbix-templates -y

完整完成查看: rpm -ql percona-zabbix-templates

图片 5

将/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml下载,通过页面导入zabbix模块

将配置文件复制到zabbix下

?

1 cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

vim/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf

?

123 <?php$mysql_user = 'zabbix';$mysql_pass = 'zabbix';

测试,调用/etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf 中的MySQL.Connections

图片 6

?

1 /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh iz

图片 7

备注:这个mysql监控脚本会在/tmp下生成临时文件,如果刚才用root账号执行过脚本,会出现权限问题

图片 8

解决方法:更改文件的属主 chown zabbix:zabbix localhost-mysql_cacti_stats.txt

4.3 编译zabbix,加入java支持

在zabbix server服务器上,编译安装zabbix-server,需要加上--enable-java,以支持jmx监控,如果之前的zabbix server没加此选项,那么需要重新编译安装,编译参数如下:

./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --enable-java --with-libxml2

特别提示:
在启用--enable-java编译zabbix之前,zabbix server服务器上需要安装JDK,并需要设置JAVA_HOME,以让系统能够识别到jdk的路径

**自定义告警脚本**

1、存放在zabbix_server端,查看/etc/zabbix/zabbix_server.conf

图片 9

短信通道可使用如:阿里大于

2、在页面添加脚本调用

图片 10

图片 11

修改Action

图片 12

修改User

图片 13

说明:PerfCounter固定格式 UserPerfCountercpu自定义的名字 Processor Information(0,_Total)% Priority Time 获取到的监控项 3 每隔3秒获取一次

3.4 启动zabbix_server端进程

[root@localhost ~]# /etc/init.d/zabbix_server startStarting zabbix_server:                                    [  OK  ][root@localhost ~]# netstat -antup | grep zabbix_servertcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      9319/zabbix_server 

zabbix自定义监控项

1、创建主机组,可以根据redis、mysql、web等创建对于的主机组

图片 14

2、创建主机

图片 15

3、创建Screens

图片 16

图片 17

4、自定义监控项

zabbix_agentd.conf配置文件定义路径

图片 18

cd/etc/zabbix/zabbix_agentd.d

定义一个nginx性能监控配置文件 vim nginx.conf

?

12 # key名称,命令UserParameter=nginx.active,/usr/bin/curl -s http://192.168.137.11:8080/nginx-status |grep "Active"|awk '{print $NF}'

重启 systemctl restart zabbix-agent

其它脚本也可以上传在此目录下,如zabbix_linux_plugin.sh

测试 zabbix_get -s 192.168.137.11 -p 10050 -k 'nginx.active'

页面创建items

图片 19

图片 20

图片 21

创建趋势图

图片 22

图片 23

 

3.2 添加相关服务和端口到系统配置文件

编辑/etc/services文件,在最后添加以下代码:

[root@localhost ~]# tail -4 /etc/services zabbix-agent    10050/tcp       # Zabbix Agentzabbix-agent    10050/udp       # Zabbix Agentzabbix-trapper  10051/tcp       # Zabbix Trapperzabbix-trapper  10051/udp       # Zabbix Trapper

其中,10051是zabbix server的监听端口,10050是zabbix agent的监听端口。

zabbix监控模式

针对agent来说

  • 被动模式

  • 主动模式

1)当监控主机超过300台,建议使用主动模式

2)当队列中有大量延迟的item

图片 24

监控项主动模式更改,如下图

图片 25

监控主机修改主动模式

vim/etc/zabbix/zabbix_agentd.conf

屏蔽被动模式的Server

图片 26

图片 27

图片 28

图片 29

重启服务systemctl restart zabbix-agent

WEB页面添加192.168.137.12主机的监控项

1)创建主动模式监控模板,将已有的模板如Template OS Linux,复制一份并将所有item的Type改成Zabbix agent

2)创建监控主机

图片 30

图片 31

可参考

 

一,Zabbix Web操作深入

TCP状态监控

模板TCP_export_templates.xml

图片 32

导入后,在host主机加入监控模板

图片 33

新建触发器

图片 34

图片 35

图片 36

3.2 实战监控nginx

WEB监控

以tomcat为例

图片 37

图片 38

图片 39

图片 40

###############################################################################

适用场景:

1、监控主机多,性能瓶颈

2、多机房,防火墙

 

3.2.6 在zabbix-server端测试键值

[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[reading]" -p 100500[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[active]" -p 100501[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[reading]" -p 100500[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[writing]" -p 100501[root@Zabbix_Server ~]# zabbix_get -s 192.168.0.221 -k "nginx.status[ping]" -p 100501

如何实现监控各应用

JMX:(使用Zabbix Java Gateway代理)

三种类型: 无密码认证、用户名密码认证、SSL

1)安装 yum install -y zabbix-java-gateway java-1.8.0

2)配置 vim/etc/zabbix/zabbix_java_gateway.conf

3)启动systemctl start zabbix-java-gateway.service (查看进程和端口状态)

4)配置zabbix_server,告知zabbix-java-gateway主机地址

vim /etc/zabbix/zabbix_server.conf

图片 41

启动5个进程轮询zabbix-java-gateway

图片 42

6)重启zabbix_server

systemctl restart zabbix-server

图片 43

监控tomcat案例

图片 44

/usr/local/tomcat/bin/startup.sh 启动tomcat

如何开启tomcat JMX远程监控

vimcatalina.sh

图片 45

?

12345 CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=8888-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false-Djava.rmi.server.hostname=192.168.137.12"

重启tomcat

?

12 /usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh

netstat -ntlp 检查端口

图片 46

通过自己Windows主机C:Program FilesJavajdk1.8.0_101bin的jconsole.exe连接测试

图片 47

zabbix添加jmx

图片 48

图片 49

服务器硬件信息监控IPMI

自定义item,本地执行ipmitool命令获取数据

网络设备SNMP

1)交换机或防火墙开启SNMP服务

2)在zabbix上添加监控(设置SNMP interface)

3)关联监控模板

图片 50

修改zabbix_agentd.conf配置

3.1.3 调整QQ邮箱设置

图片 51

图片 52

图片 53

测试邮件发送

[root@localhost sendEmail-v1.56]# sendEmail -f 215379068@qq.com -t 215379068@qq.com -u "zabbix_server" -s smtp.qq.com -o message-content-type=html -o message-charset=utf8 -xu 215379068@qq.com -xp rtqnwthiqajdbihd -m "邮件发送成功"Jan 19 18:09:10 localhost sendEmail[2403]: Email was sent successfully!

图片 54

Zabbix API

官方文档:

添加模板——windowsservers (之前创建的模板)

3.1.4 编写QQ邮件平台报警脚本

[root@localhost alertscripts]# pwd/usr/local/zabbix/share/zabbix/alertscripts[root@localhost alertscripts]# cat sendmail.sh #!/bin/bash# author:Mr.chento=$1subject=$2body=$3from=215379068@qq.comsmtp=smtp.qq.compasswd=rtqnwthiqajdbihd/usr/local/bin/sendEmail -f "$from" -t "$to" -s "$smtp" -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu "$from" -xp "$passwd" -m "$body"[root@localhost alertscripts]# chmod  x sendmail.sh [root@localhost alertscripts]# chown zabbix.zabbix sendmail.sh 

**自定义监控脚本**

创建脚本zabbix_linux_plugin.sh

设置权限chmod 777 zabbix_linux_plugin.sh

/etc/zabbix/zabbix_agentd.d目录下创建linux.conf

?

1 UserParameter=linux_status[*],/etc/zabbix/zabbix_agentd.d/zabbix_linux_plugin.sh "$1" "$2" "$3"

重启systemctl restart zabbix-agent

测试zabbix_get -s 192.168.137.11 -k linux_status[nginx_status,8088,active]

页面创建模板

图片 55

在新建的模板中创建items

图片 56

图片 57

在新建的模板中创建视图

图片 58

模板创建完成导出内容nginx_export_templates.xml

添加图形

1.1 项目规划

  • [x] :主机分组
    • 交换机
    • Nginx
    • Tomcat
    • MySQL
    • Apache
    • PHP-fpm
    • redis(也有状态页,同学们自己研究)
    • memcache(也有状态页,同学们自己研究)
  • [x] :监控对象识别:
    • 使用SNMP监控交换
    • 使用IPMI监控服务器硬件
    • 使用Agent监控服务器
    • 使用JMX监控JAVA
    • 监控MySQL
    • 监控Web状态
    • 监控Nginx状态
    • 监控Apache状态
    • 监控Tomcat状态

自动化监控

1.自动注册

  1.1 Zabbix agent 自动添加

2. 主动发现

  2.1 自动发现Discover

  2.2 zabbix api

Zabbix agent 自动添加配置

?

123456 vim /etc/zabbix/zabbix_agentd.conf ServerActive=192.168.137.11 # zabbix serverStartAgents=0Hostname=linux-node2# HostMetadata= # 如果这个设置,以HostMetadata优先,HostMetadataItem不起作用HostMetadataItem=system.uname

重启systemctl restart zabbix-agent.service

创建自动注册Action

图片 59

图片 60

自动注册的系统为Linux

图片 61

添加主机

图片 62

添加主机组

图片 63

选择一个模板

图片 64

自动发现方式

官方文档

修改配置文件

?

123456 vim /etc/zabbix/zabbix_agentd.conf Server=192.168.137.11#ServerActive=192.168.137.11 #注释StartAgents=3Hostname=linux-node2HostMetadataItem=system.uname

创建自动发现规则

图片 65

图片 66

创建Discovery

图片 67

重启systemctl restart zabbix-agent.service

 

三,Zabbix报警媒介类型设置和告警动作、频率设置

查看图形

6.1.3 追加常用的监控图形

图片 68

图片 69

图片 70

图片 71

四,zabbix_agent的安装与配置

zabbix agent端的安装建议采用rpm包方式安装,可从 server端保持一致,安装如下:

[root@localhost chen]# wget http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-agent-3.2.4-1.el6.x86_64.rpm[root@localhost ~]# rpm -ivh zabbix-agent-3.2.4-1.el6.x86_64.rpm

安装完成后,zabbix agent端已经安装完成了,zabbix agent端的配置目录位于/etc/zabbix下,可在此目录进行配置文件的修改。

特别提示:

  • zabbix server的源码包本身就包含了zabbix server端和zabbix agent端,因此,zabbix服务器端无需再安装zabbix agent的rpm包。
  • 然而zabbix agent的rpm包是为了方便在服务器上进行快速安装而设计的快捷安装包。
  • 因此为了统一,监控端和被监控端的zabbix agent我们都用rpm的安装方式

修改zabbix agent端的配置文件

#需要修改的内容如下所示:[root@Zabbix_Server ~]# cd /etc/zabbix/[root@localhost zabbix]# cat -n zabbix_agentd.conf | sed -n '13p;32p;95p;103p;120p;136p;147p;265p;284p'    13  PidFile=/var/run/zabbix/zabbix_agentd.pid    32  LogFile=/var/log/zabbix/zabbix_agentd.log    95  Server=127.0.0.1   103  # ListenPort=10050   120  # StartAgents=3   136  ServerActive=127.0.0.1   147  Hostname=Zabbix server   265  Include=/etc/zabbix/zabbix_agentd.d/*.conf   284  # UnsafeUserParameters=0#将内容修改为如下所示:[root@localhost zabbix]# cat -n zabbix_agentd.conf | sed -n '13p;32p;95p;103p;120p;136p;147p;265p;284p'    13  PidFile=/var/run/zabbix/zabbix_agentd.pid   #进程pid存放路径    32  LogFile=/var/log/zabbix/zabbix_agentd.log   #zabbix agent日志存放路径    95  Server=127.0.0.1,192.168.0.220  #指定zabbix server端IP地址   103  ListenPort=10050    #指定agentd的监听端口   120  StartAgents=3       #指定启动agentd进程数量。设置0表示关闭   136  ServerActive=192.168.0.220:10051    #启用agnetd主动模式,启动主动模式后,agentd将主动将收集到的数据发送到zabbix server端,Server Active后面指定的IP就是zabbix server端IP   147  Hostname=192.168.0.220 #需要监控服务器的主机名或者IP地址,此选项的设置一定要和zabbix web端主机配置中对应的主机名一致。   265  Include=/etc/zabbix/zabbix_agentd.d/    #相关配置都可以放到此目录下,自动生效   284  UnsafeUserParameters=1  #启用agent端自定义item功能,设置此参数为1后,就可以使用UserParameter指令了。UserParameter用于自定义item

启动zabbix_agent端进程

[root@localhost ~]# /etc/init.d/zabbix-agent startStarting Zabbix agent:                                     [  OK  ][root@localhost ~]# netstat -antup | grep zabbix_agenttcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      1322/zabbix_agentd  tcp        0      0 :::10050                    :::*                        LISTEN      1322/zabbix_agentd  [root@localhost init.d]# chkconfig zabbix-agent on

我们在监控端和被监控端都进行如上所述的zabbix agent端的安装。

为windowsserver添加监控项

6.5 自定义一个聚合图形

创建一个聚合图形

图片 72

图片 73

编辑聚合图形

图片 74

图片 75

图片 76

选择展示图形

图片 77

图片 78

图片 79

图片 80

将聚合图形添加到zabbix web首页面板

图片 81

图片 82

图片 83

把这个监控项添加到zabbix_agentd.conf文件中

4.2 重启Tomcat

[root@Tomcat bin]# /usr/local/tomcat/bin/shutdown.sh Using CATALINA_BASE:   /usr/local/tomcatUsing CATALINA_HOME:   /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME:        /usr/local/jdkUsing CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar[root@Tomcat ~]# netstat -antup | grep java[root@Tomcat bin]# /usr/local/tomcat/bin/startup.sh Using CATALINA_BASE:   /usr/local/tomcatUsing CATALINA_HOME:   /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME:        /usr/local/jdkUsing CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarTomcat started.[root@Tomcat zabbix]# netstat -antup | grep javatcp        0      0 :::54031                    :::*                        LISTEN      1521/java           tcp        0      0 :::8080                     :::*                        LISTEN      1521/java           tcp        0      0 :::53881                    :::*                        LISTEN      1521/java           tcp        0      0 :::12345                    :::*                      LISTEN      1521/java          #新增端口 tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      1521/java           tcp        0      0 :::8009                     :::*                        LISTEN      1521/java       

图片 84

七,思考与作业

请同学们在Zabbix监控MySQL的模版示例的基础上,自定义一个监控数据库主从复制的监控项

IP地址 主机名 用途
192.168.0.220 Zabbix_Server服务器 Zabbix监控端/主MySQL
192.168.0.221 Nginx服务器 Nginx服务器/从MySQL

 

2.2.4 安装GD

[root@localhost ~]# tar xf GD-2.18.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/GD-2.18/[root@localhost GD-2.18]# perl Makefile.PL[root@localhost GD-2.18]# make && make install

 

6.4 自定义一个监控项的图形

点选一个被监控的主机

图片 85

进入图形创建模版

图片 86

图片 87

查看图形绘图

图片 88

关于图形的各种显示效果

图片 89

正常图形:

图片 90

层积图形

图片 91

Pie图形

图片 92

爆发的图形

图片 93

注意:键值要和zabbix_agentd.conf中 自定义的名字要保持一直

五,Zabbix监控PHP-FPM操作实战

php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助

图片 94

4.1 概述

有时候当我们监控的项目在Zabbix预定义的key中没有定义时,这时候我们可以通过编写Zabbix的用户参数的方法来监控我们要求的项目item。形象一点说Zabbix代理端配置文件中的User parameters就相当于通过脚本获取要监控的值,然后把相关的脚本或者命令写入到配置文件中的User parameter中,然后Zabbix server读取配置文件中的返回值通过处理前端的方式返回给用户。

用户参数的语法

UserParameter=<key>,<command>

其中,Userparameter为关键字,key为用户自定义key名字可以随便起,

一个简单的例子:

UserParameter=ping,echo 1

代理程序将会永远的返回1,当我们在服务器端添加item的key为ping的时候。

稍微复杂的例子:

UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin ping | grep -c alive

  • 当我们执行mysqladmin -uroot ping命令的时候如果mysql存活要返回mysqld is alive,我们通过grep -c来计算mysqld is alive的个数,如果mysql存活着,则个数为1,如果不存活很明显mysqld is alive的个数为0,通过这种方法我们可以来判断mysql的存活状态。
  • 当我们在服务器端添加item的key为mysql.ping时候,对于Zabbix代理程序,如果mysql存活,则状态将返回1,否则,状态将返回0。

获取windows机器的监控指标

5.6 Zabbix图形界面导入我们的监控模版

图片 95

图片 96

6.2.2 自定义一个主机

图片 97

图片 98

图片 99

图片 100

图片 101

特别提示
在生产环境中主机的名字一定要是英文,并且务必和真实主机的主机名一致,且必须归类加入到主机组中。不然zabbix在进行二次开发的时候会非常麻烦(需要建立类似索引形式的东西去关联真实服务器)

配置——主机群主——创建主机群组——windows_server(根据自己的环境定义)

1.3 zabbix监控环境中相关术语

  • 主机 :

要监控的网络设备,可由 IP 或 DNS 名称指定;

  • 主机组(host group):

主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;

 监控项 :

一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是 zabbix 进行数据收集的核心,相对某个监控对象,每个 item 都由"key"标识;

 触发器 :

一个表达式,用于评估某监控对象的特定 item 内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";

 事件 :

触发一个值得关注的事情,比如触发器状态转变,新的 agent 或重新上
线的 agent 的自动注册等;

 动作 :

指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;

 报警媒介类型 :

发送通知的手段或者通道,如 Email、Jabber 或者 SMS 等;

 模板 :

用于快速定义被监控主机的预设条目集合, 通常包含了 item、 trigger、graph、 screen、 application 以及 low-level discovery rule;模板可以直接链接至某个主机;

 前端 :

Zabbix 的 web 接口

 

1.3 Zabbix Web创建触发器过程以及触发器与监控项对应关系

创建一个触发器

我们之前已经创建了一个检测内存剩余大小的监控项,现在我们给这个监控项加一个触发器。当内存小于20M时,触发报警

图片 102

图片 103

图片 104

图片 105

进行表达器测试

图片 106

图片 107

图片 108

图片 109

图片 110

表达式测试成功后,我们创建完毕即可

在服务端进行监控项数据获取测试

图片 111

监控项表达式说明
{aaaa:vm.memory.size[available].last()}<20M
aaaa:模版名
vm.memory.size:zabbix监控端向被监控端发送的代号
.last()<20 :last()<===>last<===>last

[root@localhost ~]# zabbix_get -s 192.168.0.220 -k "vm.memory.size"1028517888              #获取对应IP的全部内存总量[root@localhost ~]# zabbix_get -s 192.168.0.220 -k "vm.memory.size[available]"794337280           #获取对应IP的剩余内存总量

图片 112

1.3 IPMI

建议使用自定义item监控服务器硬件,在本地执行ipmitool命令来获取数据

可以在本地执行ipmitool命令获取数据

Server=192.168.119.130     #zabbix server IP 
ServerActive=192.168.119.130  #zabbix服务器的IP
Hostname=qazwsxedc-PC   #自己计算机名

5.5 进行键值配置文件测试

[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "php-fpm.status[process-manager]"dynamic[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "php-fpm.status[start-since]"5634[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "php-fpm.status[active-processes]"1

图片 113

3.1.7 创建报警媒介

图片 114

图片 115

图片 116

图片 117

图片 118

模板——windowsserver——监控项——创建监控项—— (注意:键值要和zabbix_agentd.conf中 自定义的名字要保持一直)

3.2.8 异常调试

如果Zabbix图形界面一直没有获取到数据,可以通过在zabbix server上执行zabbix_get手动测试:
/usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "nginx.status[active]"
如果获取数据有问题,会给出相应提示,如果能够获取到数据,那就没问题了。

图片 119

6.1.4 修改账户密码

图片 120

图片 121

图片 122

配置——主机——创建主机——

3.1 zabbix_server.conf配置

通过源码安装方式将zabbix安装到/usr/local/zabbix下面,zabbix server的配置文件为/usr/local/zabbix/etc/zabbix_server.conf,需要修改的内容为如下:

#需要修改的内容为如下:[root@localhost ~]# cd /usr/local/zabbix/etc/[root@localhost etc]# cat -n zabbix_server.conf | sed -n '12p;38p;87p;103p;111p;118p;136p;165p;181p;297p;447p'    12  # ListenPort=10051    38  LogFile=/tmp/zabbix_server.log    87  DBName=zabbix   103  DBUser=zabbix   111  # DBPassword=   118  # DBSocket=/tmp/mysql.sock   136  # StartPollers=5   165  # StartTrappers=5   181  # StartDiscoverers=1   297  # ListenIP=0.0.0.0   447  # AlertScriptsPath=${datadir}/zabbix/alertscripts#将zabbix_server.conf文件内容修改成如下所示:[root@localhost etc]# cat -n zabbix_server.conf | sed -n '12p;38p;87p;103p;111p;118p;136p;165p;181p;297p;447p'    12  ListenPort=10051    #zabbix server监听端口    38  LogFile=/tmp/zabbix_server.log  #zabbix server日志路径    87  DBName=zabbix   #zabbix server连接MySQL数据库的数据库名   103  DBUser=zabbix   #zabbix server连接MySQL数据库的用户名   111  DBPassword=123123   #zabbix server连接MySQL数据库的密码   118  DBSocket=/tmp/mysql.sock    #MySQL的实例文件位置   136  StartPollers=5  #用于设置zabbix server服务启动时启动Pollers的数量,数量越多,则服务端吞吐能力越强,同时对系统资源消耗越大   165  StartTrappers=10    #用于设置zabbix server服务启动时启动Trappers(负责处理Agentd推送过来的数据的进程)的数量。Agentd为主动模式时,zabbix server需要设置这个值大一些。   181  StartDiscoverers=10 #用于设置zabbix server服务启动时启动Discoverers进程的数量,如果zabbix监控报Discoverers进程忙时,需要提高该值。   297  ListenIP=0.0.0.0    #zabbix server启动的监听端口对哪些ip开放,Agentd为主动模式时,这个值建议设置为0.0.0.0   447  AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts  #zabbix server运行脚本存放目录,一些供zabbix server使用的脚本,都可以放在这里。

图片 123   #用于自定义监控

1.2 SNMP监控流程

  1. 交换机上开启snmp
  2. 在zabbix上添加监控(设置SNMP interfaces)
  3. 关联监控模版

将conf里面的文件复制到C盘下,重命名为zabbix_agentd.conf

2.2.2 安装mysql

[root@localhost ~]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C /usr/local/[root@localhost ~]# cd /usr/local/[root@localhost local]# mv mysql-5.5.32-linux2.6-x86_64 mysql[root@localhost local]# cd mysql/[root@localhost mysql]# /bin/cp support-files/my-small.cnf /etc/my.cnf [root@localhost mysql]# useradd -s /sbin/nologin -M mysql[root@localhost mysql]# chown -R mysql.mysql data[root@localhost mysql]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysqlInstalling MySQL system tables...OKFilling help tables...OK...以下省略若干...[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld[root@localhost mysql]# chmod  x /etc/init.d/mysqld [root@localhost mysql]# /etc/init.d/mysqld startStarting MySQL.. SUCCESS! [root@localhost mysql]# netstat -antup | grep 3306tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3990/mysqld   

再添加一个:Processor(_Total)% Processor Time

4.6.2 导入zabbix监控tomcat的模版

因为Zabbix自带的Tomcat模版有兼容性问题,并不好用,因此,我们导入自己制作的监控项模版

图片 124

图片 125

图片 126

图片 127

最后我们关联模版即可。

图片 128

图片 129

2.3.1 编译安装zabbix server

[root@localhost ~]# useradd zabbix -s /sbin/nologin -M[root@localhost ~]# tar xf zabbix-3.2.4.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/zabbix-3.2.4/[root@localhost zabbix-3.2.4]# ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2[root@localhost zabbix-3.2.4]# make && make install#由于zabbix启动脚本路径默认指向的是/usr/local/sbin路径,因此,需要提前简历软连接:[root@localhost zabbix-3.2.4]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/[root@localhost zabbix-3.2.4]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/

安装完成 、在服务里启动zabbix

2.4.3 登录web根据提示生成zabbix.conf.php配置文件

#起初并没有zabbix.conf.php配置文件,我们可以选择自动生成配置文件[root@localhost ~]# cd /usr/local/nginx/html/zabbix/conf[root@localhost conf]# lsmaintenance.inc.php  zabbix.conf.php.example

在浏览器里输入

图片 130

图片 131

图片 132

图片 133

图片 134

图片 135

执行如上图所示的步骤生成zabbix.conf.php配置文件

[root@localhost conf]# pwd/usr/local/nginx/html/zabbix/conf[root@localhost conf]# lsmaintenance.inc.php  zabbix.conf.php  zabbix.conf.php.example[root@localhost conf]# cat zabbix.conf.php      #里面记录的信息就是我们刚刚的操作<?php// Zabbix GUI configuration file.global $DB;$DB['TYPE']     = 'MYSQL';$DB['SERVER']   = 'localhost';$DB['PORT']     = '0';$DB['DATABASE'] = 'zabbix';$DB['USER']     = 'zabbix';$DB['PASSWORD'] = '123123';// Schema name. Used for IBM DB2 and PostgreSQL.$DB['SCHEMA'] = '';$ZBX_SERVER      = 'localhost';$ZBX_SERVER_PORT = '10051';$ZBX_SERVER_NAME = 'zabbixserver';$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

提示:
除了通过web界面的方式生成zabbix.conf.php文件外,我们也可以利用zabbix.conf.php.example的模版文件直接修改成我们需要的配置文件。

 

四,用户参数User parameters

 bin目录里有32位和64位两个文件夹、根据自己的系统选择版本(这里是64位系统)、里面的三个文件复制到zabbix文件夹中

3.3 添加管理维护脚本

从zabbix源码包misc/init.d/fedora/cora/目录中找到zabbix_server和zabbix_agentd,然后复制到/etc/init.d目录下,由于我们的zabbix_agnetd采用rpm的安装方式,会自动添加启动脚本,所以在此处,我们不进行zabbix_agentd的启动脚本的复制。

[root@localhost ~]# cp /usr/src/zabbix-3.2.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server[root@localhost ~]# cd /etc/init.d/[root@localhost init.d]# chmod  x /etc/init.d/zabbix_server [root@localhost init.d]# chkconfig zabbix_server on

修改后保存,打开cmd命令

1.1 组件

zabbix 由以下几个组件部分构成:

1) Zabbix Server:

负责接收 agent 发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;

2) Database Storage:

专用于存储所有配置信息,以及由 zabbix 收集的数据;

3) Web interface:

zabbix 的 GUI 接口,通常与 Server 运行在同一台主机上;

4) Proxy:

可选组件,常用于分布监控环境中,代理 Server 收集部分被监控端的监控数据
并统一发往 Server 端;

5) Agent:

部署在被监控主机上,负责收集本地数据并发往 Server 端或 Proxy 端;

注:zabbix node 也是 zabbix server 的一种 。

图片 136

1.1 Zabbix Web下的主机和模版以及监控项的添加方式

创建一个模版

我们所有的功能几乎都是在模版中定义的

图片 137

图片 138

我们再点进新创建的模版查看

模版里几乎可以设定我们需要的所有功能

图片 139

图片 140

在模版里创建应用集

应用集的作用就是将众多的监控项进行一个分类,方便我们的管理

图片 141

图片 142

图片 143

在模版里创建一个zabbix自带的监控项

图片 144

图片 145

监控项里的键值我们到底要如何写?我们需要学会照葫芦画瓢

我们选择一个系统模版Template OS Linux查看

图片 146

图片 147

图片 148

图片 149

当然我们也可以自定义监控项的键值,但是并不推荐这样。因为,都是自己写太慢了。系统自带了很多键值我们要学会利用

自定义系统监控项的键值创建,请参考前一节的知识

图片 150

6.1.5 设置报警提示声音

图片 151

图片 152

图片 153

在zabbix_server web控制台添加客户端

2.4.5 设置zabbix中文模式

图片 154

图片 155

图片 156

下载客户端

六,Zabbix的Web监测功能

Zabbix的Web监测功能,没有任何依赖,不需要agent端,全部依赖于Server的主动监测

利用Web监测,监测Server端的nginx首页

图片 157

图片 158

图片 159

图片 160

图片 161

图片 162

图片 163

到这里Web监测我们就创建好了,最后再看一下监控结果

图片 164

说明:PerfCounter固定格式 UserPerfCountercpuUsertime自定义的名字 Processor(_Total)% User Time 获取到的监控项 3 每隔3秒获取一次

三,zabbix server的配置

打开这个文本找到:Processor(_Total)% User Time 

2.4 在zabbix-server端Web前台引入zabbix监控MySQL的模版

zabbix自带监控MySQL的模版,我们只需要将模版引入到主机即可
配置-->主机-->选择主机-->模板,然后将MySQL模版连接到此主机即可

图片 165

图片 166

图片 167

图片 168

图片 169

从图中可以发现模版里的键值都是我们之前已经定义好了的键值。

导出监控项

3.1.2 sendmail命令使用说明

命令/参数 内容 解释说明
/usr/local/bin/sendEmail 命令主程序
-f from@163.com 发件人邮箱
-t to@163.com 收件人邮箱
-s smtp.163.com 发件人邮箱的smtp服务器
-u "我是邮件主题" 邮件的标题
-o message-content-type=html 邮件内容的格式,html表示它是html格式
-o message-charset=utf8 邮件内容编码
-xu from@163.com 发件人邮箱的用户名
-xp 123456 发件人邮箱密码
-m "我是邮件内容" 邮件的具体内容

把文件放到C盘 、创建zabbix文件夹   解压、有两个文件 bin   conf、

5.4 在Zabbix agent端修改配置

在创建Zabbix的agent端键值配置文件的时候,我们可以考虑利用PHP-fpm状态页的不同输出格式来抓取数据。例如我们利用xml格式获取数据,操作如下:

#查看xml格式PHP-fpm状态页数据root@Zabbix_Server nginx]# curl 127.0.0.1/status?xml<?xml version="1.0" ?><status><pool>www</pool><process-manager>dynamic</process-manager><start-time>1516953418</start-time><start-since>3731</start-since><accepted-conn>647</accepted-conn><listen-queue>0</listen-queue><max-listen-queue>4</max-listen-queue><listen-queue-len>128</listen-queue-len><idle-processes>2</idle-processes><active-processes>1</active-processes><total-processes>3</total-processes><max-active-processes>3</max-active-processes><max-children-reached>0</max-children-reached><slow-requests>0</slow-requests>#创建zabbix监控的agent端键值配置文件[root@Zabbix_Server ~]# cd /etc/zabbix/zabbix_agentd.d/[root@Zabbix_Server zabbix_agentd.d]# cat userparameter_php-fpm.conf UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://127.0.0.1/status?xml" | grep "<$1>" | awk -F "[>|<]" '{print $$3}'    #这里需要注意在脚本里如果写成$3的话,脚本会认识是一个变量,因此我们需要用$$3#重启动agent客户端[root@Zabbix_Server ~]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

图片 170

1.4 为了让同学们体会深刻,我们再创建一个监控项同时创建它的触发器

快速创建一个Agent_ping监控项

图片 171

图片 172

在监控端测试监控项的键值

[root@localhost ~]# zabbix_get -s 192.168.0.220 -k "agent.ping"1[root@localhost ~]# zabbix_get -s 192.168.0.221 -k "agent.ping"1[root@localhost ~]# zabbix_get -s 192.168.0.222 -k "agent.ping"zabbix_get [11715]: Get value error: cannot connect to [[192.168.0.222]:10050]: [113] No route to host

我们发现如果对方服务器IP能ping通,则返回值是1。反之不是1就有问题

创建监控项的告警触发器

图片 173

图片 174

图片 175

图片 176

图片 177

图片 178

到这里就创建完毕了,请同学们仔细体会这个过程。

打开-计算机管理-服务-找到zabbix Agent 启动

3.2 微信报警平台

PerfCounter = UserPerfCountercpuUsertime,"Processor(_Total)% User Time",3

2.4.1 复制zabbix web目录到nginx web根目录下

[root@localhost ~]# cp -rp /usr/src/zabbix-3.2.4/frontends/php /usr/local/nginx/html/zabbix[root@localhost ~]# cd /usr/local/nginx/html/[root@localhost html]# ls -ltotal 12-rw-r--r--.  1 root root  537 Dec  8 14:15 50x.html-rw-r--r--.  1 root root  612 Dec  8 14:15 index.htmldrwxr-xr-x. 13 1000 1000 4096 Feb 27  2017 zabbix[root@localhost html]# chown -R www.www zabbix[root@localhost html]# ll -d zabbix/drwxr-xr-x. 13 www www 4096 Feb 27  2017 zabbix/

五,Agentd主动模式与被动模式

默认情况下,zabbix server会直接去每个agent上抓取数据,这对于agent来说,是被动模式,也是默认的一种获取数据的方式,但是,当zabbix server监控主机数量过多的时候,由server端去抓取agent上的数据,zabbix server会出现严重的性能问题,主要表现如下:

  • [x] :Web操作很卡,容易出现502
  • [x] :图层断裂
  • [x] :开启的进程太多,即使减少item数量,以后加入一定量的机器也会有问题

所以,下面主要往两个优化方向考虑:

  • [x] :用Proxy或者Node模式做分布式监控
  • [x] :调整Agentd为主动模式

3.2.1 注册微信报警平台并绑定微信号

企业号注册连接

图片 179

图片 180

图片 181

6.1 Zabbix Web 操作概述

4.3.2 重新编译zabbix-server服务器端

#重新编译zabbix-server服务器端之前[root@Zabbix_Server ~]# ll /usr/local/zabbix/sbin/total 8604-rwxr-xr-x 1 root root 1165774 Jan 20 15:16 zabbix_agentd-rwxr-xr-x 1 root root 3672055 Jan 20 15:16 zabbix_proxy-rwxr-xr-x 1 root root 3966037 Jan 20 15:16 zabbix_server#开始重新编译zabbix-server服务器端[root@Zabbix_Server ~]# [root@Zabbix_Server ~]# /etc/init.d/zabbix_server stopShutting down zabbix_server:                               [  OK  ][root@Zabbix_Server ~]# cd /usr/src/zabbix-3.2.4/[root@Zabbix_Server zabbix-3.2.4]# ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --enable-java --with-libxml2[root@Zabbix_Server zabbix-3.2.4]# make && make install#重新编译zabbix-server服务器端之后[root@Zabbix_Server zabbix-3.2.4]# cd /usr/local/zabbix/sbin/[root@Zabbix_Server sbin]# lltotal 8608-rwxr-xr-x 1 root root 1165774 Jan 25 22:22 zabbix_agentddrwxr-xr-x 4 root root    4096 Jan 25 22:22 zabbix_java     #多了一个目录-rwxr-xr-x 1 root root 3672055 Jan 25 22:22 zabbix_proxy-rwxr-xr-x 1 root root 3966037 Jan 25 22:22 zabbix_server[root@Zabbix_Server sbin]# cd zabbix_java/[root@Zabbix_Server zabbix_java]# lltotal 20drwxr-xr-x 2 root root 4096 Jan 25 22:22 bindrwxr-xr-x 2 root root 4096 Jan 25 22:22 lib-rw-r--r-- 1 root root  791 Jan 25 22:22 settings.sh    #java gateway配置脚本-rwxr-xr-x 1 root root  545 Jan 25 22:22 shutdown.sh    #停止java gateway服务-rwxr-xr-x 1 root root 2025 Jan 25 22:22 startup.sh     #启动java gateway服务

提示:
java gateway服务的配置脚本settings.sh不需要修改任何配置。

六,Zabbix的web操作入门

二,Zabbix常用模版与触发器功能详解

{Template App Zabbix Agent:agent.version.diff}>0

解释:
如果当前获取的agent客户端的版本号大于前一次的不同,那么触发告警

{Template App Zabbix Agent:agent.ping.nodata}=1

解释:
如果ping客户端在5分钟内都没有数据,那么触发告警

{Template OS AIX:vm.memory.size[available].last}<20M

解释:
如果最后一次获取的空闲内存大小得值小于20M,那么触发告警

{Template App SSH Service:net.tcp.service[ssh].max}=0

解释:
如果ssh远程连接连续获取的3次值的最大值都是0,那么触发告警

{Template ICMP Ping:icmppingloss.min}>20

解释:
如果连续5分钟里获取的最小值都大于20,那么触发告警

{Template ICMP Ping:icmppingsec.avg}>0.15

解释:
如果连续5分钟内的平均值大于0.15,那么触发告警

1.6 Zabbix的Web监测

今天的实战内容,请同学们注意总结过程

4.3.2 测试脚本

[root@Zabbix_Server scripts]# chmod  x mem_check [root@Zabbix_Server scripts]# chown zabbix.zabbix mem_check[root@Zabbix_Server scripts]# sh mem_check 1004412[root@Zabbix_Server scripts]# sh mem_check free782492[root@Zabbix_Server scripts]# sh mem_check used221912

1.5 实战监控Nginx,Apache,MySQL,PHP-fpm

今天的实战内容,请同学们注意总结过程

4.3.3 启动java Gateway服务

[root@Zabbix_Server zabbix_java]# /usr/local/zabbix/sbin/zabbix_java/startup.sh [root@Zabbix_Server zabbix_java]# netstat -antup | grep 10052tcp        0      0 :::10052                    :::*                        LISTEN      13126/java 

4.5 重启zabbix_server服务

[root@Zabbix_Server ~]# /etc/init.d/zabbix_server startStarting zabbix_server:                                    [  OK  ][root@Zabbix_Server ~]# netstat -antup | grep 10051tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      13172/zabbix_server tcp        0      0 192.168.0.220:10051         192.168.0.221:56752         TIME_WAIT   -                   tcp        0      0 192.168.0.220:10051         192.168.0.221:56754         TIME_WAIT   -                   tcp        0      0 192.168.0.220:10051         192.168.0.221:56751         TIME_WAIT   -                   tcp        0      0 192.168.0.220:10051         192.168.0.220:47162         TIME_WAIT   -           

4.4 修改zabbix server 配置

默认的情况下,zabbix server未启用javaPollers,需要修改zabbix_server.conf的如下配置

[root@Zabbix_Server zabbix]# cd /usr/local/zabbix/etc/#修改以下配置文件的内容[root@Zabbix_Server etc]# cat -n zabbix_server.conf | sed -n '215p;223p;231p'   215  # JavaGateway=   223  # JavaGatewayPort=10052   231  # StartJavaPollers=0#将上述配置文件内容修改成如下[root@Zabbix_Server etc]# cat -n zabbix_server.conf | sed -n '215p;223p;231p'   215  JavaGateway=127.0.0.1   #JavaGateway的地址   223  JavaGatewayPort=10052   231  StartJavaPollers=5#查看已经打开的java poller进程[root@Zabbix_Server ~]# ps -ef | grep "java poller" | grep -v grepzabbix    13233  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #1 [got 0 values in 0.000001 sec, idle 5 sec]zabbix    13234  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #2 [got 0 values in 0.000015 sec, idle 5 sec]zabbix    13235  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #3 [got 0 values in 0.000001 sec, idle 5 sec]zabbix    13236  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #4 [got 0 values in 0.000001 sec, idle 5 sec]zabbix    13237  13172  0 Jan25 ?        00:00:00 /usr/local/sbin/zabbix_server: java poller #5 [got 0 values in 0.000001 sec, idle 5 sec]

6.1.1 Zabbix首页仪表提示面板

图片 182

  • 常用的图形:可以根据自己喜好,添加按主机按监控项添加快捷的查看链接
  • 常用的聚合图形:可以将多个监控图形的曲线合并显示
  • 常用的拓扑图:集群的架构图
  • 主机状态:被监控的主机的实时状态
  • Web检测:发一个http请求,看看web是否能正常访问
  • 系统状态:监控端zabbix server服务器的状态
  • 最近20个问题:最后发生的20个告警信息
  • Zabbix状态:zabbix server监控的详细汇总信息

3.1.6 修改zabbix_server.conf配置文件

[root@localhost alertscripts]# cat -n /usr/local/zabbix/etc/zabbix_server.conf | grep "447"   447  # AlertScriptsPath=${datadir}/zabbix/alertscripts#将上述内容修改成如下所示[root@localhost alertscripts]# cat -n /usr/local/zabbix/etc/zabbix_server.conf | grep "447"   447  AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts#重启zabbix_server服务[root@localhost zabbix]# /etc/init.d/zabbix_server restartShutting down zabbix_server:                               [  OK  ]Starting zabbix_server:                                    [  OK  ]

5.2 nginx配置php-fpm状态页面

在nginx配置文件nginx.conf里配置php状态页,操作如下

[root@Zabbix_Server ~]# cd /usr/local/nginx/[root@Zabbix_Server nginx]# lsclient_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp#配置php-fpm状态页面[root@Zabbix_Server nginx]# vim conf/nginx.conf[root@Zabbix_Server nginx]# cat conf/nginx.confworker_processes  1;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;    server {        listen       80;        server_name  localhost;        location / {            root   html;            index  index.php index.html index.htm;        }        location = /nginx-status {            stub_status on;            access_log off;        }        location = /status {         #添加此location            include fastcgi_params;            fastcgi_pass 127.0.0.1:9000;            fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;        }        location ~ .php$ {            fastcgi_pass 127.0.0.1:9000;            fastcgi_index index.php;            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;            include fastcgi_params;        }    }}#重启动nginx服务[root@Zabbix_Server nginx]# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@Zabbix_Server nginx]# /usr/local/nginx/sbin/nginx -s reload

1.4 JMX(使用Zabbix Java Gateway代理)

用来获取java数据,本次的实战内容

一,Zabbix架构

zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

Zabbix 的运行架构如下图所示:

图片 183

3.3 自定义自动报警的内容

自定义内容样例

如果不修改报警的内容格式,看起来太乱了。我们可以按照如下方式修改

#告警通知格式样例#题目A故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!#内容告警主机:&nbsp;{HOSTNAME1}<br/>告警时间:&nbsp;{EVENT.DATE} {EVENT.TIME}<br/>告警等级:&nbsp;{TRIGGER.SEVERITY}<br/>告警信息:&nbsp;{TRIGGER.NAME}<br/>告警项目:&nbsp;{TRIGGER.KEY1}<br/>问题详情:&nbsp;{ITEM.NAME}&nbsp{ITEM.VALUE}<br/>当前状态:&nbsp;{TRIGGER.STATUS}&nbsp{ITEM.VALUE1}<br/>事件ID:&nbsp;{EVENT.ID}

图片 184

样例测试

图片 185

2.3 安装zabbix server端

6.1.6 获取最新的zabbix共享模版

图片 186

图片 187

2.2 编译安装LNMP环境

4.3.4 测试自定义的键值

#重启zabbix-agent客户端[root@Zabbix_Server zabbix_agentd.d]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ][root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "mem.check"1004412[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "mem.check[free]"782676[root@Zabbix_Server zabbix_agentd.d]# zabbix_get -s 192.168.0.220 -p 10050 -k "mem.check[used]"221744

1.2 Zabbix Web下触发器与表达式的编写方法

avg

参数:秒或#num
支持类型:float,int
作用:返回一段时间的平均值

举例:avg(5):最后5秒的平均值avg(#5):表示最近5次得到值的平均值avg(3600,86400):表示一天前的一个小时的平均值如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间,#n表示最近n次的值

last

参数:秒或#num
支持值类型:float,int,str,text,log
作用:最近的值,如果为秒,则忽略,#num表示最近第N个值,请注意当前的#num和其他一些函数的#num的意思是不同的。

last(0)等价于last(#1)last(#3)表示最近第3个值(并不是最近的三个值)本函数也支持第二个参数time_shift,例如last(0,86400)返回一天前的最近的值。如果在history中同一秒中有多个值存在看,Zabbix不保证值的精确顺序#num从Zabbix1.6.2起开始支持,timeshift从1.8.2起开始支持,可以查询avg()函数获取它的使用方法

max

参数:秒或#num
支持值类型:float,int
描述:返回指定时间间隔的最大值。时间间隔作为第一个参数可以是秒或收集值的数目。从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法。
例如:max=0 返回3次值如果都是0则触发告警

min

参数:秒或#num
支持值类型:float,int
描述:返回指定时间间隔的最小值。时间间隔作为第一个参数可以是秒或收集值的数目。从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法。

nodata

参数:秒
支持值类型:any
描述:当返回值为1表示指定的间隔(间隔不应小于30秒)没有接收到数据,0表示获取到了。
例:nodata=1 ===>5分钟之内获取不到数据就告警

prev

参数:忽略
支持值类型:float,int,str,text,log
描述:返回之前的值,类似于last

sum

参数:秒或#num
支持值类型:float,int
描述:返回指定时间间隔中收集到的值的总和,时间间隔作为第一个参数支持秒或收集值的数目.从Zabbix1.8.2开始,本函数支持time_shift作为第二个参数。可以查看avg函数获取它的用法。

change

参数:忽略
支持类型:float,int,str,text,log
作用:返回最近获得值与之前获得值的差值,对于字符串0表示相等,1表示不同
change>n:忽略参数一般输入0,表示最近得到的值与上一个值的差值大于n

diff

参数:忽略
支持值类型:float,init,str,text,log
作用:返回值为1,表示最近的值与之前的值不同,0为相同。
例如:diff>0 ===>表示现在获取的值如果和之前的不同就告警

例如:

图片 188

图片 189

3.2.2 访问设置好的nginx-status链接

#在zabbix-server上通过如下方式获取nginx状态页面信息:root@Zabbix_Server ~]# curl 192.168.0.221/nginx-statusActive connections: 1 server accepts handled requests 634 634 618 Reading: 0 Writing: 1 Waiting: 0 nginx status详细说明如下:Active connections:对后端发起的活动连接数;accepts:nginx总共处理了多少个连接;handled:nginx成功创建了几次握手;requests:nginx总共处理了多少请求。Reading:nginx读取客户端的header数;Writing:nginx返回给客户端的header数;Waiting:nginx请求处理完成,正在等待下一请求指令的连接

3.2.4 给脚本可执行权限并且授权

[root@nginx scripts]# chmod  x nginx_status.sh [root@nginx scripts]# chown zabbix.zabbix nginx_status.sh

3.1.3 下载apache zabbix模版并解压

#从如下地址下载apache zabbix模版:[root@apache ~]# wget https://github.com/lorf/zapache/archive/master.zip#解压zip格式压缩文件[root@apache ~]# unzip master[root@apache ~]# ls -d zapache-masterzapache-master[root@apache ~]# cd zapache-master/[root@apache ~]# tree zapache-master/zapache-master/├── httpd-server-status.conf.sample├── README.md├── userparameter_zapache.conf.sample├── zapache├── zapache-template-active.xml└── zapache-template.xml0 directories, 6 files
  • 此模版文件中包含了监控apache的脚本文件,zabbix的apache模版文件,还有客户端zabbix自定义传key文件。
  • 首先将zapache放到需要监控的apache服务器上的/etc/zabbix/scripts目录下,如果没有scripts目录,自行创建一个即可。然后执行授权:
[root@apache zapache-master]# chmod 755 /etc/zabbix/scripts/zapache[root@apache scripts]# cd /etc/zabbix/scripts/[root@apache scripts]# ./zapache zapache version: 1.5usage:  ./zapache [<url>] TotalAccesses                 - Check total accesses.  ./zapache [<url>] TotalKBytes                   - Check total KBytes.  ./zapache [<url>] CPULoad                       - Check CPU load.  ./zapache [<url>] Uptime                        - Check uptime.  ./zapache [<url>] ReqPerSec                     - Check requests per second.  ./zapache [<url>] BytesPerSec                   - Check Bytes per second.  ./zapache [<url>] BytesPerReq                   - Check Bytes per request.  ./zapache [<url>] BusyWorkers                   - Check busy workers.  ./zapache [<url>] IdleWorkers                   - Check idle workers.  ./zapache [<url>] version                       - Version of this script.  ./zapache [<url>] ping                          - Check if Apache is up.  ./zapache [<url>] WaitingForConnection          - Check Waiting for Connection processess.  ./zapache [<url>] StartingUp                    - Check Starting Up processess.  ./zapache [<url>] ReadingRequest                - Check Reading Request processess.  ./zapache [<url>] SendingReply                  - Check Sending Reply processess.  ./zapache [<url>] KeepAlive                     - Check KeepAlive Processess.  ./zapache [<url>] DNSLookup                     - Check DNSLookup Processess.  ./zapache [<url>] ClosingConnection             - Check Closing Connection Processess.  ./zapache [<url>] Logging                       - Check Logging Processess.  ./zapache [<url>] GracefullyFinishing           - Check Gracefully Finishing Processess.  ./zapache [<url>] IdleCleanupOfWorker           - Check Idle Cleanup of Worker Processess.  ./zapache [<url>] OpenSlotWithNoCurrentProcess  - Check Open Slots with No Current Process.
  • 接着将userparameter_zapache.conf.sample文件放到/etc/zabbix/zabbix_agentd.d目录下,并重命名为userparameter_zapache.conf文件,然后修改键值命令的路径。
  • 最后,重启zabbix-agent服务
[root@apache zapache-master]# mv userparameter_zapache.conf.sample /etc/zabbix/zabbix_agentd.d/userparameter_zapache.conf[root@apache zabbix_agentd.d]# tail -1 userparameter_zapache.conf UserParameter=zapache[*],/etc/zabbix/scripts/zapache $1    #本行要修改[root@apache zapache-master]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

三,Zabbix监控Apache、Nginx操作实战

2.4.2 启动nginx服务及php-fpm

[root@localhost html]# /usr/local/nginx/sbin/nginx [root@localhost html]# netstat -antup | grep nginxtcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      8439/nginx   [root@localhost local]# /usr/local/php/sbin/php-fpm [root@localhost local]# netstat -antup | grep php-fpmtcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      8522/php-fpm  

3.2.3 脚本测试

[root@Zabbix_Server alertscripts]# chmod  x weixin.sh [root@Zabbix_Server alertscripts]# chown zabbix.zabbix weixin.sh [root@Zabbix_Server alertscripts]# sh weixin.sh yinsendemogui "题目" "报警内容"{"errcode":0,"errmsg":"ok","invaliduser":"#######"}

图片 190

图片 191

2.1 搭建自定义yum仓库并安装支持包

图片 192

[root@localhost rpm]# pwd/root/rpm[root@localhost rpm]# lsfontconfig-2.8.0-5.el6.x86_64.rpm        libX11-common-1.6.4-3.el6.noarch.rpmfontconfig-devel-2.8.0-5.el6.x86_64.rpm  libX11-devel-1.6.4-3.el6.x86_64.rpmfreetype-2.3.11-17.el6.x86_64.rpm        libXau-devel-1.0.6-4.el6.x86_64.rpmfreetype-devel-2.3.11-17.el6.x86_64.rpm  libxcb-1.12-4.el6.x86_64.rpmgd-devel-2.0.35-11.el6.x86_64.rpm        libxcb-devel-1.12-4.el6.x86_64.rpmlibICE-1.0.6-1.el6.x86_64.rpm            libXext-1.3.3-1.el6.x86_64.rpmlibSM-1.2.1-2.el6.x86_64.rpm             libXpm-devel-3.5.10-2.el6.x86_64.rpmlibvpx-1.3.0-5.el6_5.x86_64.rpm          libXt-1.1.4-6.1.el6.x86_64.rpmlibvpx-devel-1.3.0-5.el6_5.x86_64.rpm    repodatalibX11-1.6.4-3.el6.x86_64.rpm            xorg-x11-proto-devel-7.7-14.el6.noarch.rpm[root@localhost rpm]# cat /etc/yum.repos.d/CentOS-Media.repo [c6-media]name=CentOS-$releasever - Mediabaseurl=file:///media/CentOS/        file:///media/cdrom/        file:///media/cdrecorder/gpgcheck=1enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6[rpm]name=rpmbaseurl=file:///root/rpm/gpgcheck=0enabled=1[root@localhost yum.repos.d]# yum -y install pcre pcre-devel zlib-devel libaio libaio-devel libxml2 libxml2-devel bzip2-devel openssl openssl-devel net-snmp-devel net-snmp curl-devel gd gcc gcc-c   make libjpeg-devel libpng-devel libcurl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker mysql-devel net-snmp-utils#如果下一步出现问题,请注释掉yum配置文件里的本地光盘源[root@localhost rpm]# yum -y install libvpx-devel gd-devel

4.6.1 创建一个主机利用JMX接口监控tomcat被监控端

图片 193

图片 194

3.1.9 QQ邮件报警测试

给自定义监控项nginx.avtive创建一个触发器,如下

图片 195

利用Web进行访问,增加活动连接数,触发报警

图片 196

2.1 编写监控脚本

在nginx服务器(192.168.0.221)上安装一个MySQL
下面是监控mysql状态的一个shell脚本,内容如下:

[root@nginx scripts]# pwd/server/scripts[root@nginx scripts]# cat check_mysql.sh #!/bin/bash# author:Mr.chenMySQL_USER="root"MySQL_PWD="123123"MySQL_HOST="127.0.0.1"MySQL_PORT="3306"MySQL_CONN="/usr/local/mysql/bin/mysqladmin -u${MySQL_USER} -h${MySQL_HOST} -P${MySQL_PORT} -p${MySQL_PWD}"if [ $# -ne "1" ];then    echo "arg error!"ficase $1 in    Uptime)        result=`${MySQL_CONN} status | cut -f2 -d":" | cut -f1 -d "T"`        echo $result        ;;    Com_update)        result=`${MySQL_CONN} extended-status | grep -w "Com_update" | cut -d"|" -f3`        echo $result        ;;    Slow_querles)        result=`${MySQL_CONN} status | cut -f5 -d":" | cut -f1 -d"O"`        echo $result        ;;    Com_select)        result=`${MySQL_CONN} extended-status | grep -w "Com_select" | cut -d "|" -f3`        echo $result        ;;    Com_rollback)        result=`${MySQL_CONN} extended-status | grep -w "Com_rollback" | cut -d"|" -f3`        echo $result        ;;    Questions)        result=`${MySQL_CONN} status | cut -f4 -d":" | cut -f1 -d"S"`        echo $result        ;;    Com_insert)        result=`${MySQL_CONN} extended-status | grep -w "Com_insert" | cut -d"|" -f3`        echo $result        ;;    Com_delete)        result=`${MySQL_CONN} extended-status | grep -w "Com_delete" | cut -d"|" -f3`        echo $result        ;;    Com_commit)        result=`${MySQL_CONN} extended-status | grep -w "Com_commit" | cut -d"|" -f3`        echo $result        ;;    Bytes_sent)        result=`${MySQL_CONN} extended-status | grep -w "Bytes_sent" | cut -d"|" -f3`        echo $result        ;;    Bytes_received)        result=`${MySQL_CONN} extended-status | grep -w "Bytes_received" | cut -d"|" -f3`        echo $result        ;;    Com_begin)        result=`${MySQL_CONN} extended-status | grep -w "Com_begin" | cut -d"|" -f3`        echo $result        ;;    *)        echo "Usage:$0(Uptime|Com_update|Slow_querles|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"        ;;esac

2.4 安装Zabbix web GUI

  • Zabbix web是php代码编写的,因此需要有php环境,前面已经安装好了lnmp,因此可以直接使用。
  • 默认的nginx安装的根目录为/usr/local/nginx/html,因此,只需要Zabbix web的代码放到此目录即可。
  • Zabbix web的代码在Zabbix源码包中的frontends/php目录下,将这个php目录拷贝到/usr/local/nginx/html/目录下并改名zabbix即可完成Zabbix web端的安装。
  • 在浏览器输入http://IP/zabbix,然后会检查zabbix web运行环境是否满足,并提供连接数据库的相关信息即可,最后将连接数据库相关信息都存入文件zabbix/conf/zabbix.conf.php中,这样就可以登录zabbix的web平台了。
  • 默认的zabbix平台登录用户名为Admin,密码为zabbix。

6.6 自定义一个拓扑图形

进入拓扑图编辑界面

图片 197

图片 198

添加一个新的拓扑图形

图片 199

图片 200

拓扑图链接拓扑图

图片 201

图片 202

图片 203

图片 204

拓扑图显示时时的连接带宽

图片 205

图片 206

图片 207

图片 208

图片 209

上图中的标签内容如下:
{linux-node1.yunjisuan.com:net.if.out[eth0].last}
linux-node1.yunjisuan.com为定义的主机名
net.if.out[eth0]为监控项的表达式
last为取监控项的最后一个值

图片 210

5.1 启用php-fpm状态功能

修改php-fpm配置文件,确保如下配置是打开状态:
pm.status_path = /status,具体操作如下

#在Zabbix-server端操作如下[root@Zabbix_Server etc]# pwd/usr/local/php/etc[root@Zabbix_Server etc]# lspear.conf  php-fpm.conf  php-fpm.conf.default  php.ini[root@Zabbix_Server etc]# sed -n '360p' php-fpm.conf;pm.status_path = /status[root@Zabbix_Server etc]# vim php-fpm.conf  360[root@Zabbix_Server etc]# sed -n '360p' php-fpm.confpm.status_path = /status#重启php-fpm服务[root@Zabbix_Server ~]# netstat -antup | grep php-fpmtcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      1145/php-fpm[root@Zabbix_Server ~]# pkill php-fpm[root@Zabbix_Server ~]# netstat -antup | grep 9000[root@Zabbix_Server ~]# /usr/local/php/sbin/php-fpm [root@Zabbix_Server ~]# netstat -antup | grep php-fpmtcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      18918/php-fpm

4.3.1 我们先制作一个获取数据的脚本

[root@Zabbix_Server ~]# mkdir -p /server/scripts[root@Zabbix_Server ~]# cd /server/scripts/[root@Zabbix_Server scripts]# cat mem_check #!/bin/bash# author:Mr.chencase $1 in    free)        echo "`free | awk 'NR==3{print $4}'`"        ;;    used)        echo "`free | awk 'NR==3{print $3}'`"        ;;    *)        echo "`free | awk 'NR==2{print $2}'`"        ;;esac

4.2 让key接受参数

让key也接受参数的方法使item添加时更具备了灵活性,例如系统预定义key:vm.memory.size[

相关语法:

UserParameter=key[*],command

#描述:key:key的值在主机系统中必须是唯一的,其中*代表命令中接受的参数command:客户端系统中可执行的命令#举例:UserParameter=ping[*],echo $1ping[0]:此时0就是*,也就是传入参数是0,$1也就是0,因此表达式将一直返回‘0’ping[aaa]:此时aaa就是*,也就是传入参数是aaa,$1也就是aaa,因此表达式将一直返回‘aaa’

2.2 在zabbix-agent端创建自定义键值配置文件

#创建mysql.status的键值[root@nginx scripts]# chmod  x check_mysql.sh [root@nginx scripts]# chown zabbix.zabbix check_mysql.sh[root@nginx zabbix]# cd /etc/zabbix/zabbix_agentd.d/[root@nginx zabbix_agentd.d]# cat mysql_status.conf UserParameter=mysql.status[*],/server/scripts/check_mysql.sh $1#删除旧键值模版[root@nginx zabbix_agentd.d]# rm -rf userparameter_mysql.conf #创建mysql.ping和mysql.version的键值[root@nginx zabbix_agentd.d]# cat mysql_status.conf UserParameter=mysql.status[*],/server/scripts/check_mysql.sh $1UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uroot -p123123 ping | grep -c aliveUserParameter=mysql.version,/usr/local/bin/mysql -V#重启zabbix-agentd服务[root@nginx zabbix_agentd.d]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

6.2 自定义被监控的服务器

3.2.4 创建微信报警媒介类型

图片 211

图片 212

图片 213

图片 214

图片 215

4.3.5 前台自定义一个监控项及触发器

过程略,此时我相信同学们已经会了。请同学们自己尝试创建完整。

3.1 QQ邮件告警平台

6.3 自定义一个监控项

5.2 zabbix Server端配置调整

如果开启了agent端的主动发送数据模式,需要在zabbix Server端修改如下两个参数,保证性能。

StartPollers=10     #把这个zabbix Server主动收集数据进程减少一些。StartTrappers=200   #把这个负责处理Agentd推送过来的数据的进程开大一些。

2.2.3 安装libmcrypt

[root@localhost ~]# tar xf libmcrypt-2.5.8.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/libmcrypt-2.5.8/[root@localhost libmcrypt-2.5.8]# ./configure && make && make install

3.2.7 接下来我们需要在Web端导入nginx监控模版

图片 216

图片 217

图片 218

图片 219

5.3 状态页浏览器访问测试

php-fpm状态页比较个性化的一个地方是它可以带参数,可以带的参数有json、xml、html,使用zabbix或者nagios监控可以考虑使用xml或者默认方式。

图片 220

#具体含义说明如下[root@Zabbix_Server nginx]# curl 127.0.0.1/statuspool:                 www           #fpm进程池名称,大多数为wwwprocess manager:      dynamic       #进程管理方式(static,dynamic or nodemand.dynamic)start time:           26/Jan/2018:02:56:58 -0500    #启动日期start since:          2972          #运行时长accepted conn:        517           #当前FPM进程池接受的请求数listen queue:         0             #请求等待队列,如果值不是0,那么要增加FPM的进程数max listen queue:     4             #请求等待队列最高的数量listen queue len:     128           #socket等待队列长度idle processes:       2             #空闲进程数量active processes:     1             #活跃进程数量total processes:      3             #总进程数量max active processes: 3             #最大的活跃进程数量max children reached: 0             #达到最大子进程的次数,如果值不为0,那么需要调高最大进程数slow requests:        0             #当启用了php-fpm的slow-log功能时,如果出现php-fpm慢请求这个计数器会增加,一般不当的MySQL查询会触发这个值

其他状态参数显示形式的数据(json,xml,html)

#以xml的格式输出PHP-fpm状态页[root@Zabbix_Server nginx]# curl 127.0.0.1/status?xml<?xml version="1.0" ?><status><pool>www</pool><process-manager>dynamic</process-manager><start-time>1516953418</start-time><start-since>3731</start-since><accepted-conn>647</accepted-conn><listen-queue>0</listen-queue><max-listen-queue>4</max-listen-queue><listen-queue-len>128</listen-queue-len><idle-processes>2</idle-processes><active-processes>1</active-processes><total-processes>3</total-processes><max-active-processes>3</max-active-processes><max-children-reached>0</max-children-reached><slow-requests>0</slow-requests>#以json的格式输出PHP-fpm的状态页</status>[root@Zabbix_Server nginx]# curl 127.0.0.1/status?json{"pool":"www","process manager":"dynamic","start time":1516953418,"start since":3736,"accepted conn":648,"listen queue":0,"max listen queue":4,"listen queue len":128,"idle processes":2,"active processes":1,"total processes":3,"max active processes":3,"max children reached":0,"slow requests":0}[root@Zabbix_Server nginx]# #以html的格式输出PHP-fpm的状态页[root@Zabbix_Server nginx]# curl 127.0.0.1/status?html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><title>PHP-FPM Status Page</title></head><body><table><tr><th>pool</th><td>www</td></tr><tr><th>process manager</th><td>dynamic</td></tr><tr><th>start time</th><td>26/Jan/2018:02:56:58 -0500</td></tr><tr><th>start since</th><td>3748</td></tr><tr><th>accepted conn</th><td>650</td></tr><tr><th>listen queue</th><td>0</td></tr><tr><th>max listen queue</th><td>4</td></tr><tr><th>listen queue len</th><td>128</td></tr><tr><th>idle processes</th><td>2</td></tr><tr><th>active processes</th><td>1</td></tr><tr><th>total processes</th><td>3</td></tr><tr><th>max active processes</th><td>3</td></tr><tr><th>max children reached</th><td>0</td></tr><tr><th>slow requests</th><td>0</td></tr></table></body></html>

3.2.2 编写微信平台报警脚本

编写脚本前,我们需要先记住3个关键的参数

企业的CorpID

图片 221

企业的Secret

图片 222

图片 223

部门ID号

图片 224

然后我们就可以编写微信告警脚本了,如下:

[root@Zabbix_Server alertscripts]# cat weixin.sh #!/bin/bash# author:Mr.chenCropID="########"           #这里填写我们的应用的CropIDSecret="#######"            #这里是应用的Secret#下面的GURL和PURL地址无需改变,不用做任何变动GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"Gtoken=`/usr/bin/curl -s -G $GURL | awk -F" '{print $10}'`PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"function body() {        local int AppID=1000002 #这里是创建的应用ID        local UserID=$1         #接收消息用户,系统传参        local PartyID=1         #接收消息的部门ID        local Msg=`echo "$@" | cut -d" " -f3-`        printf '{n'        printf 't"touser": "'"$UserID""",n"        printf 't"toparty": "'"$PartyID""",n"        printf 't"msgtype": "text",n'        printf 't"agentid": "'" $AppID """,n"        printf 't"text": {n'        printf 'tt"content": "'"$Msg"""n"        printf 't},n'        printf 't"safe":"0"n'        printf '}n'}/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

5.3 调整模版

  • 因此收集数据的模式发生了变化,因此需要把所有的监控项的类型由原来的“zabbix客户端”改成“zabbix客户端”。
  • 这样,只需要简单的几步,就完成了主动模式的切换,调整之后服务器不卡了,图层不裂了,进程也少了。

图片 225

######################################################################################

本节作业:

熟悉Zabbix各模块操作,回家胡乱点点

自学部署Smokeping网络监控

自学Piwik流量分析系统

#######################################################################################

5.1 Agentd的配置调整

修改zabbix_agentd.conf配置文件,注意是打开如下参数:

ServerActive=192.168.0.220Hostname=192.168.0.220StartAgents=1

ServerActive是指定Agentd收集的数据往哪里发送,Hostname是必须要和zabbix web端添加主机时的主机名对应起来,这样zabbix server端接收到数据才能找到对应关系,这里为了兼容被动模式,没有把StartAgents设为0,如果一开始就是使用主动模式的话建议把StartAgents设为0,关闭被动模式。

3.1.1 安装sendmail

[root@localhost ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz[root@localhost ~]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL[root@localhost ~]# tar xf sendEmail-v1.56.tar.gz -C /usr/local/[root@localhost ~]# cd /usr/local/sendEmail-v1.56/[root@localhost sendEmail-v1.56]# /bin/cp -ra sendEmail /usr/local/bin/[root@localhost sendEmail-v1.56]# chmod  x /usr/local/bin/sendEmail [root@localhost sendEmail-v1.56]# which sendmail/usr/sbin/sendmail

3.1.2 开启apache状态页

要打开apache的ServerStatus页面,需要在httpd.conf文件最下边加入代码段

ExtendedStatus On<location /server-status>SetHandler server-statusOrder Deny,AllowDeny from allAllow from 127.0.0.1</location>

最后,重启动apache即可

2.4.4 登录zabbix web

图片 226

图片 227

6.2.1 自定义一个主机组

图片 228

图片 229

图片 230

特别提示
在生产环境时,主机组的名字一定要用英文,不然,当zabbix进行二次开发的时候,中文名称都是乱码。那感觉很让人想死...

四,Zabbix监控Tomcat操作实战

zabbix监控tomcat,需要zabbix_server开启java poller,zabbix_java开启javaGateway,端口10052,Tomcat JMX开启12345端口,提供性能数据。

数据获取流程为:java poller<-->javaGateway:10052<-->Tomcat:12345

图片 231

二,Zabbix监控MySQL数据库操作实战

我们需要部署一个MySQL服务和一个zabbix-agentd客户端

4.3.3 后台自定义一个监控项的键值

[root@Zabbix_Server ~]# cd /etc/zabbix/zabbix_agentd.d/[root@Zabbix_Server zabbix_agentd.d]# cat mem_check.conf UserParameter=mem.check[*],/server/scripts/mem_check $1

3.1.4 测试键值

#在zabbix-agent端查看脚本用法[root@apache zabbix_agentd.d]# cd /etc/zabbix/scripts/[root@apache scripts]# ./zapache zapache version: 1.5usage:  ./zapache [<url>] TotalAccesses                 - Check total accesses.  ./zapache [<url>] TotalKBytes                   - Check total KBytes.  ./zapache [<url>] CPULoad                       - Check CPU load.  ./zapache [<url>] Uptime                        - Check uptime.  ./zapache [<url>] ReqPerSec                     - Check requests per second.  ./zapache [<url>] BytesPerSec                   - Check Bytes per second.  ./zapache [<url>] BytesPerReq                   - Check Bytes per request.  ./zapache [<url>] BusyWorkers                   - Check busy workers.  ./zapache [<url>] IdleWorkers                   - Check idle workers.  ./zapache [<url>] version                       - Version of this script.  ./zapache [<url>] ping                          - Check if Apache is up.  ./zapache [<url>] WaitingForConnection          - Check Waiting for Connection processess.  ./zapache [<url>] StartingUp                    - Check Starting Up processess.  ./zapache [<url>] ReadingRequest                - Check Reading Request processess.  ./zapache [<url>] SendingReply                  - Check Sending Reply processess.  ./zapache [<url>] KeepAlive                     - Check KeepAlive Processess.  ./zapache [<url>] DNSLookup                     - Check DNSLookup Processess.  ./zapache [<url>] ClosingConnection             - Check Closing Connection Processess.  ./zapache [<url>] Logging                       - Check Logging Processess.  ./zapache [<url>] GracefullyFinishing           - Check Gracefully Finishing Processess.  ./zapache [<url>] IdleCleanupOfWorker           - Check Idle Cleanup of Worker Processess.  ./zapache [<url>] OpenSlotWithNoCurrentProcess  - Check Open Slots with No Current Process.

我们发现脚本需要传递两个参数,即url和选项
然后我们在zabbix-server端进行键值测试

[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.222 -p 10050 -k "zapache[127.0.0.1 TotalAccesses]"9[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.222 -p 10050 -k "zapache[www.yunjisuan.com version]"1.5[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.222 -p 10050 -k "zapache[www.yunjisuan.com ping]"1

五,测试zabbix server监控

如何知道zabbix server监控已经生效呢,可通过zabbix server上的zabbix_get命令来完成,在zabbix server上执行如下命令即可进行测试:

#利用如下命令进行测试/usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "system.uptime"-s 是指定zabbix agent端的IP地址-p 是指定zabbix agent端的监听端口-k 是监控项,即item如果有输出结果,表面zabbix server可以从zabbix agent获取数据,配置成功。

具体操作如下:

#在监控端zabbix_server端进行如下操作[root@localhost init.d]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "system.uptime"26330       #有数据显示就代表监控正常[root@localhost init.d]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.220 -p 10050 -k "system.uptime"55653       #有数据显示就代表监控正常

4.1 配置Tomcat JMX

#配置jmx,在需要监控的tomcat服务器上,编辑catalina.sh,加入如下配置[root@Tomcat bin]# sed -n '249p' /usr/local/tomcat/bin/catalina.sh CATALINA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.0.224 -Dcom.sun.management.jmxremote.port=12345"

这里需要注意,必须增加-Djava.rmi.server.hostname选项,并且后面的IP就是tomcat服务器的IP

3.1.5 脚本测试

[root@localhost alertscripts]# sh sendmail.sh 215379068@qq.com "hello world" "新的一天"Jan 19 18:20:32 localhost sendEmail[2478]: Email was sent successfully!

图片 232

3.1.5 在zabbix-server的Web页面上监控apache

创建一个监控apache的主机

图片 233

图片 234

导入带有apache监控项的模版

zabbix默认并没有监控apache的监控项模版。我们需要将它导入到apache中。在之前解压出来的目录中,有待导入的web模版

[root@apache ~]# tree zapache-master/zapache-master/├── httpd-server-status.conf.sample├── README.md├── zapache-template-active.xml #Web模版└── zapache-template.xml    #Web模版0 directories, 4 files

我们将这两个.xml后缀的拷贝到windows上,然后从Web界面导入进去

图片 235

图片 236

导入以后Web端就有监控apache的监控项模版了

将模版链接到apache主机

图片 237

图片 238

图片 239

4.6 Zabbix图形界面配置

4.3.1 在zabbix-server端安装JDK

#解压jdk[root@Zabbix_Server ~]# tar xf jdk-8u60-linux-x64.tar.gz -C /usr/local/[root@Zabbix_Server ~]# ln -s /usr/local/jdk1.8.0_60/ /usr/local/jdk#配置java环境变量[root@Zabbix_Server ~]# sed -i.ori '$a export JAVA_HOME=/usr/local/jdknexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHnexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar' /etc/profile[root@Zabbix_Server ~]# tail -3 /etc/profileexport JAVA_HOME=/usr/local/jdkexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar#让环境变量立刻生效[root@Zabbix_Server ~]# source /etc/profile#检查java环境变量情况[root@Zabbix_Server ~]# which java/usr/local/jdk/bin/java[root@Zabbix_Server ~]# java -versionjava version "1.8.0_60"Java SE Runtime Environment (build 1.8.0_60-b27)Java HotSpot 64-Bit Server VM (build 25.60-b23, mixed mode)

1.2 进程

默认情况下zabbix包含5个程序: zabbix_agentd、 zabbix_get、 zabbix_proxy、 zabbix_sender、zabbix_server,另外一个 zabbix_java_gateway 是可选,这个需要另外安装。

下面来分别介绍下他们各自的作用:

 zabbix_agentd

客户端守护进程,此进程收集客户端数据,例如 cpu 负载、内存、硬盘使用情况等。

 zabbix_get

zabbix 工具,单独使用的命令,通常在 server 或者proxy端执行获取远程客户端信息的命令。 通常用户排错。 例如在server端获取不到客户端的内存数据, 我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

 zabbix_sender

zabbix 工具,用于发送数据给 server 或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致 zabbix 超时。于是我们在脚本执行完毕之后,使用 sender 主动提交数据。

 zabbix_server

zabbix 服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway 的数据最终都是提交到 server
备注:当然不是数据都是主动提交给 zabbix_server,也有的是 server 主动去取数据。

 zabbix_proxy

zabbix 代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到 server 里。

 zabbix_java_gateway

zabbix2.0 之后引入的一个功能。顾名思义:Java 网关,类似 agentd,但是只用于 Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。 它的数据最终会给到server或者proxy。

3.2.5 设定报警动作

图片 240

图片 241

3.2.1 开启nginx状态页

#在nginx的配置文件中,添加status配置location = /nginx-status {    stub_status on;    access_log  off;    allow 127.0.0.1;    allow 192.168.0.220;    #zabbix服务器地址一般是内网地址    deny all;}

4.3 让我们自定义一个可以传递参数的监控项

我们做一个可以根据条件获取内存数值大小的监控项mem_check
当我们键值为mem_check[free]时,获取剩余可用内存大小
当我们键值为mem_check[used]时,获取实际占用内存大小
当我们键值为mem_check时,获取总内存大小

6.1.2 自定义首页面板

图片 242

调整后,如下所示:

图片 243

3.2.6 微信平台报警测试

图片 244

图片 245

6.3.1 进行监控项的后台定义

现在假如我们要定义一个获取nginx连接数的监控项,那么我们先得去尝试能够获取这个值。在之前的nginx配置文件里我们已经加入了status模块的获取

图片 246

我们登录网页获取这个信息

图片 247

我们尝试通过命令获取这个信息

[root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" Active connections: 6 server accepts handled requests 301 301 8833 Reading: 0 Writing: 1 Waiting: 5 [root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" | grep "Active"Active connections: 6 [root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" | grep "Active" | awk '{print $NF}'6

在zabbix agent配置文件里定义这个监控项

[root@localhost ~]# cd /etc/zabbix/     #进入zabbix agent目录[root@localhost zabbix]# lszabbix_agentd.conf  zabbix_agentd.d[root@localhost zabbix]# vim zabbix_agentd.conf [root@localhost zabbix]# sed -n '257,270p' zabbix_agentd.conf   ### Option: Include#   You may include individual files or all files in a directory in the configuration file.#   Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.## Mandatory: no# Default:# Include=Include=/etc/zabbix/zabbix_agentd.d/        #我们发现zabbix_agentd.d目录已经默认被include进入了主配置文件。# Include=/usr/local/etc/zabbix_agentd.userparams.conf# Include=/usr/local/etc/zabbix_agentd.conf.d/# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf

由于zabbix_agentd.conf配置文件默认导入了所有zabbix_agentd.d目录下的内容,因此我们可以将监控项定义到zabbix_agentd.d目录下。

图片 248

参考模版,自己定义监控项的获取命令

[root@localhost zabbix_agentd.d]# pwd/etc/zabbix/zabbix_agentd.d[root@localhost zabbix_agentd.d]# vim nginx.conf[root@localhost zabbix_agentd.d]# cat nginx.conf [root@localhost zabbix_agentd.d]# cat nginx.conf UserParameter=nginx.active,/usr/bin/curl -s "http://192.168.0.220:80/nginx-status" | grep "Active" | awk '{print $NF}'

自定义监控项,等于改变了配置文件,自然需要重启zabbix_agentd

[root@localhost ~]# /etc/init.d/zabbix-agent restartShutting down Zabbix agent:                                [  OK  ]Starting Zabbix agent:                                     [  OK  ]

在zabbix server端测试获取自定义的监控项信息

[root@localhost ~]# zabbix_get -s 192.168.0.220 -p 10050 -k "nginx.active"6

至此zabbix自定义监控项的后台定义全部完成

一,Zabbix生产环境监测案例概述

2.3.2 配置zabbix的mysql环境

Zabbix server 和mysql安装到一台服务器上,首先需要手动创建zabbix数据库,操作如下:

[root@localhost ~]# which mysqladmin/usr/bin/mysqladmin[root@localhost ~]# mysqladmin -uroot password '123123'[root@localhost ~]# mysql -uroot -p123123 -e 'create database zabbix character set utf8;'[root@localhost ~]# mysql -uroot -p123123 -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by '123123';"[root@localhost ~]# mysql -uroot -p123123 -e 'flush privileges;'#如下数据的导入顺序不可以错[root@localhost ~]# mysql -uzabbix -p123123 zabbix < /usr/src/zabbix-3.2.4/database/mysql/schema.sql [root@localhost ~]# mysql -uzabbix -p123123 zabbix < /usr/src/zabbix-3.2.4/database/mysql/images.sql [root@localhost ~]# mysql -uzabbix -p123123 zabbix < /usr/src/zabbix-3.2.4/database/mysql/data.sql 

二,ZabbixServer的安装

3.1.8 创建报警动作

图片 249

图片 250

图片 251

图片 252

步骤1-3也就是从1开始到3结束。一旦发生故障,就是执行sendmail.sh脚本发生报警邮件给zabbix用户。
假如故障持续了1个小时,它也只发送3次,第1-3次邮箱发送给zabbix用户,时间间隔为0秒。
如果改成1-0,0是表示不限制,无限发送。

图片 253

图片 254

2.2.5 安装PHP

[root@localhost ~]# tar xf php-5.6.30.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/php-5.6.30/[root@localhost php-5.6.30]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath[root@localhost php-5.6.30]# make && make install#创建php配置文件[root@localhost php-5.6.30]# cp php.ini-development /usr/local/php/etc/php.ini#修改php配置文件php.ini[root@localhost php-5.6.30]# cat -n /usr/local/php/etc/php.ini | sed -n '372p;382p;393p;660p;702p;820p;936p'   372  max_execution_time = 300   382  max_input_time = 300   393  memory_limit = 256M   660  post_max_size = 32M   702  always_populate_raw_post_data = -1   820  upload_max_filesize = 16M   936  date.timezone =Asia/Shanghai#创建php-fpm配置文件[root@localhost php-5.6.30]# cd /usr/local/php/etc/[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf#修改php-fpm.conf配置文件[root@localhost etc]# cat -n php-fpm.conf | sed -n '149,150p'   149  user = www   150  group = www

2.2.1 安装nginx

[root@localhost ~]# useradd -s /sbin/nologin -M www[root@localhost ~]# tar xf nginx-1.10.2.tar.gz -C /usr/src/[root@localhost ~]# cd /usr/src/nginx-1.10.2/[root@localhost nginx-1.10.2]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module && make && make install[root@localhost nginx-1.10.2]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/#创建nginx配置文件模版[root@localhost nginx-1.10.2]# cd /usr/local/nginx/conf/[root@localhost conf]# egrep -v "^$|#" nginx.conf.default > nginx.conf#将nginx配置文件改成如下内容[root@localhost conf]# vim nginx.conf[root@localhost conf]# cat nginx.confworker_processes  1;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    sendfile        on;    keepalive_timeout  65;    server {        listen       80;        server_name  localhost;    location / {        root   html;        index  index.php index.html index.htm;    }    location = /nginx-status {                stub_status on;                access_log off;        }    location ~ .php$ {        fastcgi_pass 127.0.0.1:9000;        fastcgi_index index.php;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        include fastcgi_params;    }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }}[root@localhost conf]# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

6.3.2 进行监控项的前台定义

点选一个被监控的主机

图片 255

进入监控项创建模版

图片 256

创建监控项

图片 257

图片 258

创建完成的监控项

图片 259

监控项创建完成以后,在zabbix server这个主机里就出现这个新定义的监控项了。

3.1 实战监控Apache

2.3 在zabbix-server端测试键值

[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.status[Uptime]"2791[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.status[Com_commit]"0[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.status[Bytes_sent]"144628[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.status[Bytes_received]"3934[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.ping"1[root@Zabbix_Server scripts]# zabbix_get -s 192.168.0.221 -p 10050 -k "mysql.version"/usr/local/bin/mysql  Ver 14.14 Distrib 5.5.32, for linux2.6  using readline 5.1

3.1.1 源码编译构建apache服务

#为了避免冲突,若系统中已经安装httpd服务,务必删除[root@apache ~]# rpm -q httpdpackage httpd is not installed[root@apache ~]# /etc/init.d/iptables stop[root@apache ~]# setenforce 0setenforce: SELinux is disabled#源码构建apache[root@apache httpd-2.2.17]# tar xf httpd-2.2.17.tar.gz -C /usr/src/[root@apache httpd-2.2.17]# cd /usr/src/httpd-2.2.17/[root@apache httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install[root@apache httpd-2.2.17]# cd /usr/local/httpd/[root@apache httpd]# lsbin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules[root@apache httpd]# ln -s /usr/local/httpd/bin/* /usr/local/bin/[root@apache httpd]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd[root@apache httpd]# chmod  x /etc/init.d/httpd[root@apache ~]# cd /usr/local/httpd/htdocs/[root@apache htdocs]# echo "`hostname -I` I am apache" > index.html[root@apache htdocs]# cat index.html 192.168.0.222  I am apache[root@apache conf]# awk '/#ServerName/{print NR,$0}' httpd.conf 97 #ServerName www.example.com:80[root@apache conf]# sed -i -e '97 s/#//;s/example/yunjisuan/' httpd.conf [root@apache conf]# sed -n '97p' httpd.conf ServerName www.yunjisuan.com:80[root@apache conf]# /etc/init.d/httpd start[root@apache conf]# netstat -antup | grep httpdtcp        0      0 :::80                       :::*                        LISTEN      53288/httpd         [root@apache conf]# echo "`hostname -I` www.yunjisuan.com" >> /etc/hosts[root@apache conf]# tail -1 /etc/hosts192.168.0.222  www.yunjisuan.com[root@apache conf]# curl www.yunjisuan.com192.168.0.222  I am apache

本文由时时app平台注册网站发布于时时app平台注册网站,转载请注明出处:zabbix 3.0.4 监控windows 服务

关键词: