zabbix监控tomcat/mysql、shell入门

来源:https://blog.csdn.net/Powerful_Fy前端

zabbix监控Tomcat

A机器:zabbix服务端(192.168.234.128) B机器:zabbix客户端(192.168.234.125)java

在A机器安装zabbix-java-gateway:mysql

[root@zabbix ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm

[root@zabbix ~]# yum -y localinstall zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm

编辑gateway配置文件:linux

[root@zabbix ~]# vi /etc/zabbix/zabbix_java_gateway.conf

去掉LISTEN_IP、LISTEN_PORT(监听端口)、START_POLLERS(进程数)的注释符号#:sql

在这里插入图片描述

#LISTEN_IP定义被监控机器的地址,不指定默认监听所有机器shell

编辑server配置文件:centos

[root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf

定义如下3个配置参数:tomcat

在这里插入图片描述

启动zabbix-java-gateway服务:bash

[root@zabbix ~]# systemctl start zabbix-java-gateway

重启zabbix-server服务:app

[root@zabbix ~]# systemctl restart zabbix-server

查看监听端口:

[root@zabbix ~]# netstat -lntp |grep java
tcp6       0      0 :::10052                :::*                    LISTEN      8706/java

开启JMX

在B机器编辑tomcat配置文件:

[root@centos ~]# vi /usr/local/tomcat/bin/catalina.sh

添加如下内容:

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.234.125
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

#hostname定义B机器地址,端口9999(默认12345)

重启tomcat:

[root@centos ~]# /usr/local/tomcat/bin/shutdown.sh 

[root@centos ~]# /usr/local/tomcat/bin/startup.sh

查看监听端口9999:

[root@centos ~]# netstat -lntp |grep 9999
tcp6       0      0 :::9999                 :::*                    LISTEN      25861/java

进入zabbix前端页面添加主机:

在这里插入图片描述

#与普通状况添加监控主机不一样,监控B机器的tomcat须要配置JMX接口

模板连接JMX相关的两个模板:

在这里插入图片描述

当JMX图标变绿即表示配置成功:

在这里插入图片描述

zabbix监控MySQL

A机器:zabbix服务端(192.168.234.128) B机器:zabbix客户端(192.168.234.125)

zabbix_agent定义mysql监控的配置文件:/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

在B机器登陆mysql建立用户:

mysql> grant usage,process,replication client on *.* to zamysql@'localhost' identified by 'zamysql';

建立配置文件指定的目录:

[root@centos ~]# mkdir /var/lib/zabbix

建立my.cnf文件:

[root@centos ~]# vi /var/lib/zabbix/.my.cnf

#须要注意该文件是隐藏文件

添加如下内容:

[mysql]
host=localhost
user=zamysql
password='zamysql'
socket=/tmp/mysql.sock

[mysqladmin]
host=localhost
user=zamysql
password='zamysql'
socket=/tmp/mysql.sock

在A机器测试:

[root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.ping
1
[root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.version
mysql  Ver 14.14 Distrib 5.6.43, for linux-glibc2.12 (x86_64) using  EditLine wrapper
[root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.size
10240

#已成功获取数据

在zabbix前端页面添加主机:

在这里插入图片描述

监控模板选择DB mysql:

在这里插入图片描述

ZBX标准变为绿色表示成功:

在这里插入图片描述

在监测→最新数据页面便可查看mysql监控数据:

在这里插入图片描述

shell简介:shell是一种脚本语言,能够使用逻辑判断、循环等语法,能够自定义函数,是系统命令的集合

shell脚本结构和执行方法

1.shell脚本开头须要加#!/bin/bash 2.以#开头的行做为注释 3.脚本的名字以.sh结尾,用于区分这是一个shell脚本 4.执行方法有两种: 1)bash test.sh 2)./test.sh

#第二种执行方式须要有执行权限(chmod +x test.sh) 5.查看脚本执行过程:bash -x test.sh 6.查看脚本是否语法错误:bash -n test.sh

#bash能够使用sh命令代替(在/usr/bin目录下,sh是bash的软链接文件)

date命令的用法

年月日:

[root@linux ~]# date
2019年 11月 19日 星期二 16:20:04 CST
[root@linux ~]# date +%Y-%m-%d
2019-11-19
[root@linux ~]# date +%Y
2019
[root@linux ~]# date +%m
11
[root@linux ~]# date +%d
19
[root@linux ~]# date +%y	#表示2019年,忽略20
19
[root@linux ~]# date +%F
2019-11-19

时分秒:

[root@linux ~]# date
2019年 11月 19日 星期二 16:27:46 CST
[root@linux ~]# date +%H-%M-%S
16-28-04
[root@linux ~]# date +%T
16:28:09

周:

[root@linux ~]# date +%w	#表示星期几
2
[root@linux ~]# date +%W	表示今年的第多少周
46

时间戳:

[root@linux ~]# date +%s	#表示1970年1月1日到如今
1574152197
[root@linux ~]# date -d @1534150197		#倒推时间戳
2018年 08月 13日 星期一 16:49:57 CST

补充:

[root@linux ~]# date
2019年 11月 19日 星期二 16:34:37 CST

[root@linux ~]# date -d "+3day"			#三天后
2019年 11月 22日 星期五 16:34:45 CST

[root@linux ~]# date -d "-3day" +%F		#三天前
2019-11-16

[root@linux ~]# date -d "-3 month" +%F		#三个月前
2019-08-19

[root@linux ~]# date -d "-30 min" +%F_%T	#30分钟前
2019-11-19_16:06:16

shell脚本中变量的用法

使用变量的状况:

1.当脚本中使用某个字符串较频繁而且字符串长度很长时就应该使用变量代替 2.使用条件语句时,常使用变量判断大小 if [ $a -gt 1 ]; then ... ; fi 3.引用某个命令的结果时,用变量替代 n=wc -l test.txt 4.写和用户交互的脚本时,变量也是必不可少的 :

[root@linux ~]# read -p "input a number:" n
input a number:15
[root@linux ~]# echo $n
15

若是没有自定义变量,能够使用内置变量$REPLY:

[root@linux ~]# read -p "input a number:" 
input a number:9
[root@linux ~]# echo $REPLY
9

5.内置变量

$1,$2,$3,$# ($1 第一个参数,$2 第二个参数,$#表示参数的和):

#!/bin/bash
echo "第一个参数是$1"
echo "第二个参数是$2"
echo "一共有$#个参数"

结果示例:

[root@linux ~]# ./test.sh a b c
第一个参数是a
第二个参数是b
一共有3个参数

$0表示脚本名(根据执行脚本方式的不一样结果不一样):

#!/bin/bash
echo "\$0是:$0"

结果示例:

[root@linux ~]# /root/test.sh 
$0是:/root/test.sh
[root@linux ~]# ./test.sh 
$0是:./test.sh
[root@linux ~]# sh test.sh 
$0是:test.sh

6.数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]:

[root@linux ~]# a=1
[root@linux ~]# b=2

[root@linux ~]# c=$(($a+$b))
[root@linux ~]# echo $c
3
[root@linux ~]# d=$[$a+$b]
[root@linux ~]# echo $d
3
相关文章
相关标签/搜索