Home >

ZABBIX钉钉报警插件

枫叶 / / 文章 / 849 ℃
这是使用Golang为zabbix写的一个钉钉报警插件。 可以将zabbix的报警消息推送给钉钉,实现使用钉钉APP接收zabbix的报警消息。 之前也写过ZABBIX云之家报警插件。 钉钉(阿里)和云之家(金蝶)可以免费无限次的给自己的应用推送消息,而微信有很多限制,要实现推送消息,首先需要缴费认证才可以,所以选择了钉钉和云之家。 下面的教程仅支持zabbix3.0及以上版本。。 程序使用方法 实际上,本程序是这样发送消息的,下面zabbix配置完成以后,就可以这样调用这个程序来发送消息。 Shell ...
阅读全文 →

curl获取http状态码

shell中使用curl获取http请求的状态码 Shell #!/bin/bash checkPort() { #检测http端口是否正常 # 输入一个端口,返回以该端口请求url的http状态码。 # http_code会有3个状态:000=超时,200=正常,其他不正常 # 返回0=超时,1=正常,2=程序错误 url="http://127.0.0.1:"$1"/" logNotice "检测HTTP端口\t->\t$url" http_code=`curl -Is -m 10 -w %{http_code} -o /dev/null $url` if [ $http_code -eq 0 ];then # 0=超时 logErr "http_code\t->\t$htt...
阅读全文 →

shell输出带颜色文本

用下面方法可以实现shell输出带颜色的文本。 其他颜色请自行Google,直接替换即可。 Shell # 定义日志路径 logFile=/dev/null # logFile=$path"reloadTomcat_"`date +%s`.log # 定义字体颜色 logErr() { echo -e `date +%G/%m/%d\ %T`" [\033[31;1m错误\033[0m] \033[31;1m"$1"\033[0m" echo `date +%G/%m/%d\ %T`" [错误] "$1 >> $logFile } logNotice(){ echo -e `date +%G/%m/%d\ %T`" [\033[36;1m信息\033[0m] \033[36;1m"$1"\033[0m" e...
阅读全文 →

Tomcat单机单项目多实例log4j使用变量配置多个日志文件

环境 CentOS6; 两个tomcat实例以tomcat7、tomcat9区分, 目录分别为: /usr/local/tomcat7 /usr/local/tomcat9 项目文件目录为/var/app/; log4j配置文件为/var/app/WEB-INF/classes/log4j.properties; Log目录为/opt/logs/。 要求 tomcat7和tomcat9两个实例中, 项目分别写两个日志文件: /opt/logs/tomcat7-debug.log /opt/logs/tomcat9-debug.log 实现原理 在tomcat的catalina.sh脚本中,指定变量。 在项目的log4j配置文件中引用这个变量。 实现方法 修改/usr/local/tomcat7/bin/catalina.sh文件,在23...
阅读全文 →

TomCat设定pid文件

修改$TOMCAT_HOME/bin/catalina.sh文件,大约在128行左右,在PRGDIR下面一行添加CATALINA_PID参数行,修改完成后应该跟下面相同。 Shell # Get standard environment variables PRGDIR=`dirname "$PRG"` CATALINA_PID=$PRGDIR/CATALINA_PID 123 # Get standard environment variablesPRGDIR=`dirname "$PRG"`CATALINA_PID=$PRGDIR/CATALINA_PID 也可以自定义pid路径,例如“CATALINA_PID=/var/run/tomcat.pid”
阅读全文 →

shell中数组与for循环的配合使用

从数据库取出商户列表,然后作为参数执行某个php脚本。 Shell #!/bin/bash # 对所有商户执行day_count.php source /root/.bash_profile cd /var/www/php/ # 取所有商户,放到cList数组 cList=`mysql -uroot -p12345678 -e "SELECT company_name_en FROM kb.card WHERE is_del = 0"|grep -v company_name_en` # 从数组中取出所有元素,并作为参数执行 for n in ${cList[*]} do nohup php day_count.php $n done 123456789101112...
阅读全文 →

Golang 获取http状态码

Go package main //获取http状态码 import ( "fmt" "net/http" "net/url" ) func main() { u, _ := url.Parse("http://www.baidu.com") q := u.Query() u.RawQuery = q.Encode() res, err := http.Get(u.String()) if err != nil { fmt.Println("0") return } resCode := res.StatusCode res.Body.Close() if err != nil { fmt.Println("0") return } fmt.Printf("%d\r\n", resCode) } 12345...
阅读全文 →