• 关于

    监控tomcat 日志

    的搜索结果

问题

如何监控服务器上的tomcat日志 tomcat报错

环境 : 本机是win 服务器是linux 服务器上跑了tomcat 我是一个测试想监控一下服务器的日志 每次都要打开putty 在tail 日志文件。 有没有可视化的解决方案 可以方便的查看多个服务器上的日志,...
DM。 2020-06-01 14:56:45 0 浏览量 回答数 1

问题

使用nagios自带check_log插件来监控tomcat日志文件的问题

自己想使用nagios自带胡check_log插件来监控tomcat日志文件,其它的简单的插件勉强能看懂,但是这个使用./check_log -h 之后帮助信息看不太懂...哪位给个例子,例如如何监控tomcat总的某个错误胡数量,当超过多...
落地花开啦 2019-12-01 19:38:26 1145 浏览量 回答数 1

回答

看看tomcat目录下有没有什么hs_xxxx.log之类的文件,另外检查logs下的日志文件看有什么错误信息吗? 引用来自“红薯”的评论 看看tomcat目录下有没有什么hs_xxxx.log之类的文件,另外检查logs下的日志文件看有什么错误信息吗? 这种问题某倒还没遇到过。不过要看看TOmcat_home下有没有留下hs_**.log这样的文件,有说明是内存溢出。 第二要看logs下的catalina.out的文件,查看最后的日志。 在远程可以用jstat看看运行期内存回收。 实在不行在tomcat的jvm参数中加上 -Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port="9004"-Dcom.sun.management.jmxremote.authenticate="false"-Dcom.sun.management.jmxremote.ssl="false" 然后在本地用JVisualVM监控看看。 还真没见过,楼上方法试试吧,个人感觉,内存面大些 试试在Tomcat的JVM参数中加上  -XX:HeapDumpPath=./java_pid<pid>.hprof 的参数,下次退出前会输出内存快照。然后用专业工具分析。 还有种可能,有别人登录上服务器把你Tomcat关了 有人重启了服务器。  如果是你应用日志有问题,那肯定有I记录,不会没log的,只有新手才不知道哪里找log  如果是Linux服务器可能是内存不足被kill了 可以查查系统日志  /var/log/messge
爱吃鱼的程序员 2020-06-22 11:13:39 0 浏览量 回答数 0

万券齐发助力企业上云,爆款产品低至2.2折起!

限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折!

问题

使用curl写了程序之后,在日志中查看日志中没有获取到返回值

写了一个监控tomcat程序。在日志中tomcatservicecode值是空的。 【代码】 Monitor() { echo "[info]开始监控tomcat...[$(date +'%F...
1629942345221958 2019-12-01 19:13:47 245 浏览量 回答数 0

问题

tomcat请求响应时间问题? 400 报错

tomcat请求响应时间问题? 400 报错 最近在项目中遇到一个比较棘手的问题,程序在生产环境稳定运行一段时间之后,会突然变慢。通过jconsole工具监控程序各项指标均正常;操作系统各项指标...
爱吃鱼的程序员 2020-06-05 13:10:05 0 浏览量 回答数 1

回答

要么开JMX监控一下tomcat的信息,有必要dump一下堆栈分析一下看看? tomcat挂掉大多情况都是OOM但是在系统日志里没有看到OOM的信息,有没有这种情况,系统杀掉了java进程,但是没有在日志里记录呢???谢谢!!! 这是监控日志,有哪位大侠能看出什么异常来吗???回复 @wyl_root:被内核干掉的进程都会有系统级别的日志。 另外检查下tomcat的目录下有没有stacktrace.log这样的文件?如果java进程异常挂掉的时候,有可能会在家目录下生成一个堆栈跟踪的log。还可以尝试升级一下java的小版本,比如某些低版本的java有BUG,会导致进程意外终止,这种情况升级一下java版本可能就能解决。最后,jvisualvm比jconsole直观的多,带有堆dump与分析功能。 好的,非常感谢,那我用jvisualvm监控试一下,后续给您回复,谢谢!!! 看看线程数量,是不是哪里不停的在开线程没有结束掉。一般系统好像有个最大线程数。超过了会关闭进程。我们以前遇见过类似问题。监控了线程数,java挂掉的时候线程数没有超过阀值,我设置的阀值是1800 jvisualvm比jconsole只能在JAVA虚拟机运行的时候监控,设置JVM参数,让虚拟机挂掉之后自动输出dump文件!~~然后再看您好,请问添加什么参数可以使虚拟机挂掉之后自动输出dump文件啊??? 您好,这是java进程异常中断时的jvisualvm截图信息,没看出什么异常信息,还请哪位大侠帮忙分析一下,是否能看出什么异常,谢谢!!! 很久以前的问题了,有好的解决思路么? 
爱吃鱼的程序员 2020-06-09 16:01:14 0 浏览量 回答数 0

回答

看看数据库连接或者流是不是用完没有关闭###### OOM直接原因是创建的线程太多了,根本原因是某个地方的内存限制了。 逐步排查,先加点内存试试 ######将Tomcat内存加大 ###### 从报错的日志分析看,是你的内存溢出,将tomcat的内存加大,可以解决此问题. 这里有解决方法的连接地址,可以参考: http://www.cnblogs.com/dartagnan/archive/2010/12/24/2003469.html ######先把tomcat内存配置加大,如果还有问题,估计是你们代码有地方资源没关闭。可以分析下 dump文件或装个监控分析下。
爱吃鱼的程序员 2020-06-05 13:01:53 0 浏览量 回答数 0

问题

java web运行时tomcat经常自动关闭,什么情况?

最近不知道tomcat怎么经常性死掉,快的时候是12小时内会突然崩掉,想跟踪也没法跟踪,只能重新启动。慢的时候2天就崩掉了。审查了最近开发的新功能,确实没问题,现在不清楚有什么办法一直长期跟踪,知道崩溃时有日志记录。大家帮忙指导下。尝试过s...
落地花开啦 2019-12-01 19:40:47 1772 浏览量 回答数 3

回答

看看TOmcat_home下有没有留下 hs_**.log这样的文件,有说明是内存溢出。第二要看logs下的catalina.out的文件,查看最后的日志。在远程可以用jstat看看运行期内存回收。实在不行在tomcat的jvm参数中加上`-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port="9004" -Dcom.sun.management.jmxremote.authenticate="false" -Dcom.sun.management.jmxremote.ssl="false"`然后在本地用JVisualVM监控看看。
落地花开啦 2019-12-02 02:27:28 0 浏览量 回答数 0

回答

" 现在的人问问题之前先寻找一下答案会死?tomcat也是靠startup.bat或者startup.sh调用catalina来启动的。你在这些脚本里面可以任意的添加环境配置,运行你指定的jre,载入指定的库,使用指定的日志配置,设置你更加复杂的需求,比如自动重启,运行监控等。。 不知道这个是否能够回答你的问题。######谢谢 呵呵 我不是做开发的 我是做实施的 所以对代码不懂######不一定######能说的详细点吗???######如果你想问是否一定要用jre,我可以告诉你,是的。######<div class=""ref""> 引用来自“pilate”的答案 现在的人问问题之前先寻找一下答案会死?tomcat也是靠startup.bat或者startup.sh调用catalina来启动的。你在这些脚本里面可以任意的添加环境配置,运行你指定的jre,载入指定的库,使用指定的日志配置,设置你更加复杂的需求,比如自动重启,运行监控等。。 不知道这个是否能够回答你的问题。 为什么我觉着实施的人应该更加了解这些才对。 ######呵呵 没有错的 我总共实施tomcat才两个一个是公司的OA系统,另外的一个是朋友的项目……######Tomcat 必须有个 Java运行环境,不然无法启动的。######那是一定的,不过方法有好多种。 ###### 必须要有jre######需要运行环境,但不一定要配置"
montos 2020-06-01 20:44:37 0 浏览量 回答数 0

问题

容器服务Docker 日志收集新方案:fluentd-pilot

本文档介绍一款新的 Docker 日志收集工具:fluentd-pilot。fluentd-pilot 是我们为您提供的日志收集镜像。您可以在每台机器上部署一个 fluentd-pilot 实例,就可以收集机器上...
反向一觉 2019-12-01 21:23:25 2617 浏览量 回答数 0

回答

我们都知道JVM的内存管理是自动化的,Java语言的程序指针也不需要开发人员手工释放,JVM的GC会自动的进行回收,但是,如果编程不当,JVM仍然会发生内存泄露,导致Java程序产生了OutOfMemoryError(OOM)错误。 产生OutOfMemoryError错误的原因包括: java.lang.OutOfMemoryError: Java heap spacejava.lang.OutOfMemoryError: PermGen space及其解决方法java.lang.OutOfMemoryError: unable to create new native threadjava.lang.OutOfMemoryError:GC overhead limit exceeded对于第1种异常,表示Java堆空间不够,当应用程序申请更多的内存,而Java堆内存已经无法满足应用程序对内存的需要,将抛出这种异常。 对于第2种异常,表示Java永久带(方法区)空间不够,永久带用于存放类的字节码和长常量池,类的字节码加载后存放在这个区域,这和存放对象实例的堆区是不同的,大多数JVM的实现都不会对永久带进行垃圾回收,因此,只要类加载的过多就会出现这个问题。一般的应用程序都不会产生这个错误,然而,对于Web服务器来讲,会产生有大量的JSP,JSP在运行时被动态的编译成Java Servlet类,然后加载到方法区,因此,太多的JSP的Web工程可能产生这个异常。 对于第3种异常,本质原因是创建了太多的线程,而能创建的线程数是有限制的,导致了这种异常的发生。 对于第4种异常,是在并行或者并发回收器在GC回收时间过长、超过98%的时间用来做GC并且回收了不到2%的堆内存,然后抛出这种异常进行提前预警,用来避免内存过小造成应用不能正常工作。 下面两个异常与OOM有关系,但是,又没有绝对关系。 java.lang.StackOverflowError ...java.net.SocketException: Too many open files对于第1种异常,是JVM的线程由于递归或者方法调用层次太多,占满了线程堆栈而导致的,线程堆栈默认大小为1M。 对于第2种异常,是由于系统对文件句柄的使用是有限制的,而某个应用程序使用的文件句柄超过了这个限制,就会导致这个问题。 上面介绍了OOM相关的基础知识,接下来我们开始讲述笔者经历的一次OOM问题的定位和解决的过程。 产生问题的现象 在某一段时间内,我们发现不同的业务服务开始偶发的报OOM的异常,有的时候是白天发生,有的时候是晚上发生,有的时候是基础服务A发生,有的时候是上层服务B发生,有的时候是上层服务C发生,有的时候是下层服务D发生,丝毫看不到一点规律。 产生问题的异常如下: Caused by: java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method)at java.lang.Thread.start(Thread.java:597)at java.util.Timer.(Timer.java:154) 解决问题的思路和过程 经过细心观察发现,产生问题虽然在不同的时间发生在不同的服务池,但是,晚上0点发生的时候概率较大,也有其他时间偶发,但是都在整点。 这个规律很重要,虽然不是一个时间,但是基本都在整点左右发生,并且晚上0点居多。从这个角度思考,整点或者0点系统是否有定时,与出问题的每个业务系统技术负责人核实,0点没有定时任务,其他时间的整点有定时任务,但是与发生问题的时间不吻合,这个思路行不通。 到现在为止,从现象的规律上我们已经没法继续分析下去了,那我们回顾一下错误本身: java.lang.OutOfMemoryError: unable to create new native thread 顾名思义,错误产生的原因就是应用不能创建线程了,但是,应用还需要创建线程。为什么程序不能创建线程呢? 有两个具体原因造成这个异常: 由于线程使用的资源过多,操作系统已经不能再提供给应用资源了。操作系统设置了应用创建线程的最大数量,并且已经达到了最大允许数量。上面第1条资源指的是内存,而第2条中,在Linux下线程使用轻量级进程实现的,因此线程的最大数量也是操作系统允许的进程的最大数量。 内存计算 操作系统中的最大可用内存除去操作系统本身使用的部分,剩下的都可以为某一个进程服务,在JVM进程中,内存又被分为堆、本地内存和栈等三大块,Java堆是JVM自动管理的内存,应用的对象的创建和销毁、类的装载等都发生在这里,本地内存是Java应用使用的一种特殊内存,JVM并不直接管理其生命周期,每个线程也会有一个栈,是用来存储线程工作过程中产生的方法局部变量、方法参数和返回值的,每个线程对应的栈的默认大小为1M。 Linux和JVM的内存管理示意图如下: 内存结构模型因此,从内存角度来看创建线程需要内存空间,如果JVM进程正当一个应用创建线程,而操作系统没有剩余的内存分配给此JVM进程,则会抛出问题中的OOM异常:unable to create new native thread。 如下公式可以用来从内存角度计算允许创建的最大线程数: 最大线程数 = (操作系统最大可用内存 - JVM内存 - 操作系统预留内存)/ 线程栈大小 根据这个公式,我们可以通过剩余内存计算可以创建线程的数量。 下面是问题出现的时候,从生产机器上执行前面小节介绍的Linux命令free的输出: free -m >> /tmp/free.log total used free shared buffers cached Mem: 7872 7163 709 0 31 3807-/+ buffers/cache: 3324 4547Swap: 4095 173 3922Tue Jul 5 00:27:51 CST 2016从上面输出可以得出,生产机器8G内存,使用了7G,剩余700M可用,其中操作系统cache使用3.8G。操作系统cache使用的3.8G是用来缓存IO数据的,如果进程内存不够用,这些内存是可以释放出来优先分配给进程使用。然而,我们暂时并不需要考虑这块内存,剩余的700M空间完全可以继续用来创建线程数: 700M / 1M = 700个线程 因此,根据内存可用计算,当OOM异常:unable to create new native thread问题发生的时候,还有700M可用内存,可以创建700个线程。 到现在为止可以证明此次OOM异常不是因为线程吃光所有的内存而导致的。 线程数对比 上面提到,有两个具体原因造成这个异常,我们上面已经排除了第1个原因,那我们现在从第2个原因入手,评估是否操作系统设置了应用创建线程的最大数量,并且已经达到了最大允许数量。 在问题出现的生产机器上使用ulimit -a来显示当前的各种系统对用户使用资源的限制: robert@robert-ubuntu1410:~$ ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size (blocks, -f) unlimitedpending signals (-i) 62819max locked memory (kbytes, -l) 64max memory size (kbytes, -m) unlimitedopen files (-n) 65535pipe size (512 bytes, -p) 8POSIX message queues (bytes, -q) 819200real-time priority (-r) 0stack size (kbytes, -s) 10240cpu time (seconds, -t) unlimitedmax user processes (-u) 1024virtual memory (kbytes, -v) unlimitedfile locks (-x) unlimited这里面我们看到生产机器设置的允许使用的最大用户进程数为1024: max user processes (-u) 1024现在,我们必须获得问题出现的时候,用户下创建的线程情况。 在问题产生的时候,我们使用前面小结介绍的JVM监控命令jstack命令打印出了Java线程情况,jstack命令的示例输出如下: robert@robert-ubuntu1410:~$ jstack 27432017-04-09 12:06:51Full thread dump Java HotSpot(TM) Server VM (25.20-b23 mixed mode): "Attach Listener" #23 daemon prio=9 os_prio=0 tid=0xc09adc00 nid=0xb4c waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE "http-nio-8080-Acceptor-0" #22 daemon prio=5 os_prio=0 tid=0xc3341000 nid=0xb02 runnable [0xbf1bd000] java.lang.Thread.State: RUNNABLE at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:241) - locked <0xcf8938d8> (a java.lang.Object) at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:688) at java.lang.Thread.run(Thread.java:745) "http-nio-8080-ClientPoller-1" #21 daemon prio=5 os_prio=0 tid=0xc35bc400 nid=0xb01 runnable [0xbf1fe000] java.lang.Thread.State: RUNNABLE at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86) - locked <0xcf99b100> (a sun.nio.ch.Util$2) - locked <0xcf99b0f0> (a java.util.Collections$UnmodifiableSet) - locked <0xcf99aff8> (a sun.nio.ch.EPollSelectorImpl) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97) at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1052) at java.lang.Thread.run(Thread.java:745) ......从jstack命令的输出并统计后,我们得知,JVM一共创建了904个线程,但是,这还没有到最大的进程限制1024。 robert@robert-ubuntu1410:~$ grep "Thread " js.log | wc -l 904 这是我们思考,除了JVM创建的应用层线程,JVM本身可能会有一些管理线程存在,而且操作系统内用户下可能也会有守护线程在运行。 我们继续从操作系统的角度来统计线程数,我们使用上面小结介绍的Linux操作系统命令pstack,并得到如下的输出: PID LWP USER %CPU %MEM CMD 1 1 root 0.0 0.0 /sbin/init 2 2 root 0.0 0.0 [kthreadd] 3 3 root 0.0 0.0 [migration/0] 4 4 root 0.0 0.0 [ksoftirqd/0] 5 5 root 0.0 0.0 [migration/0] 6 6 root 0.0 0.0 [watchdog/0] 7 7 root 0.0 0.0 [migration/1] 8 8 root 0.0 0.0 [migration/1] 9 9 root 0.0 0.0 [ksoftirqd/1] 10 10 root 0.0 0.0 [watchdog/1] 11 11 root 0.0 0.0 [migration/2] 12 12 root 0.0 0.0 [migration/2] 13 13 root 0.0 0.0 [ksoftirqd/2] 14 14 root 0.0 0.0 [watchdog/2] 15 15 root 0.0 0.0 [migration/3] 16 16 root 0.0 0.0 [migration/3] 17 17 root 0.0 0.0 [ksoftirqd/3] 18 18 root 0.0 0.0 [watchdog/3] 19 19 root 0.0 0.0 [events/0] 20 20 root 0.0 0.0 [events/1] 21 21 root 0.0 0.0 [events/2] 22 22 root 0.0 0.0 [events/3] 23 23 root 0.0 0.0 [cgroup] 24 24 root 0.0 0.0 [khelper] ...... 7257 7257 zabbix 0.0 0.0 /usr/local/zabbix/sbin/zabbix_agentd: active checks #2 [idle 1 sec] 7258 7258 zabbix 0.0 0.0 /usr/local/zabbix/sbin/zabbix_agentd: active checks #3 [idle 1 sec] 7259 7259 zabbix 0.0 0.0 /usr/local/zabbix/sbin/zabbix_agentd: active checks #4 [idle 1 sec] ...... 9040 9040 app 0.0 30.5 /apps/prod/jdk1.6.0_24/bin/java -Dnop -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Ddbconfigpath=/apps/dbconfig/ -Djava.io.tmpdir=/apps/data/java-tmpdir -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.10.194 -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Xshare:off -Dhostname=sjsa-trade04 -Djute.maxbuffer=41943040 -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -Dworkdir=/apps/data/tomcat-work -Djava.endorsed.dirs=/apps/product/tomcat-trade/endorsed -classpath commonlib:/apps/product/tomcat-trade/bin/bootstrap.jar:/apps/product/tomcat-trade/bin/tomcat-juli.jar -Dcatalina.base=/apps/product/tomcat-trade -Dcatalina.home=/apps/product/tomcat-trade -Djava.io.tmpdir=/apps/data/tomcat-temp/ org.apache.catalina.startup.Bootstrap start 9040 9041 app 0.0 30.5 /apps/prod/jdk1.6.0_24/bin/java -Dnop -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Ddbconfigpath=/apps/dbconfig/ -Djava.io.tmpdir=/apps/data/java-tmpdir -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.10.194 -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Xshare:off -Dhostname=sjsa-trade04 -Djute.maxbuffer=41943040 -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -Dworkdir=/apps/data/tomcat-work -Djava.endorsed.dirs=/apps/product/tomcat-trade/endorsed -classpath commonlib:/apps/product/tomcat-trade/bin/bootstrap.jar:/apps/product/tomcat-trade/bin/tomcat-juli.jar -Dcatalina.base=/apps/product/tomcat-trade -Dcatalina.home=/apps/product/tomcat-trade -Djava.io.tmpdir=/apps/data/tomcat-temp/ org.apache.catalina.startup.Bootstrap start ......通过命令统计用户下已经创建的线程数为1021。 $ grep app pthreads.log | wc -l 1021 现在我们确定,1021的数字已经相当的接近1021的最大进程数了,正如前面我们提到,在Linux操作系统里,线程是通过轻量级的进程实现的,因此,限制用户的最大进程数,就是限制用户的最大线程数,至于为什么没有精确达到1024这个最大值就已经报出异常,应该是系统的自我保护功能,在还剩下3个线程的前提下,就开始报错。 到此为止,我们已经通过分析来找到问题的原因,但是,我们还是不知道为什么会创建这么多的线程,从第一个输出得知,JVM已经创建的应用线程有907个,那么他们都在做什么事情呢? 于是,在问题发生的时候,我们又使用JVM的jstack命令,查看输出得知,每个线程都阻塞在打印日志的语句上,log4j中打印日志的代码实现如下: public void callAppenders(LoggingEvent event) { int writes = 0; for(Category c = this; c != null; c=c.parent) { // Protected against simultaneous call to addAppender, removeAppender,... synchronized(c) { if(c.aai != null) { writes += c.aai.appendLoopOnAppenders(event); } if(!c.additive) { break; } } } if(writes == 0) { repository.emitNoAppenderWarning(this); } }在log4j中,打印日志有一个锁,锁的作用是让打印日志可以串行,保证日志在日志文件中的正确性和顺序性。 那么,新的问题又来了,为什么只有凌晨0点会出现打印日志阻塞,其他时间会偶尔发生呢?这时,我们带着新的线索又回到问题开始的思路,凌晨12点应用没有定时任务,系统会不会有其他的IO密集型的任务,比如说归档日志、磁盘备份等? 经过与运维部门碰头,基本确定是每天凌晨0点日志切割导致磁盘IO被占用,于是堵塞打印日志,日志是每个工作任务都必须的,日志阻塞,线程池就阻塞,线程池阻塞就导致线程池被撑大,线程池里面的线程数超过1024就会报错。 到这里,我们基本确定了问题的原因,但是还需要对日志切割导致IO增大进行分析和论证。 首先我们使用前面小结介绍的vmstat查看问题发生时IO等待数据: vmstat 2 1 >> /tmp/vm.logprocs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 177608 725636 31856 3899144 0 0 2 10 0 0 39 1 1 59 0 Tue Jul 5 00:27:51 CST 2016可见,问题发生的时候,CPU的IO等待为59%,同时又与运维部门同事复盘,运维同事确认,脚本切割通过cat命令方法,先把日志文件cat后,通过管道打印到另外一个文件,再清空原文件,因此,一定会导致IO的上升。 其实,问题的过程中,还有一个疑惑,我们认为线程被IO阻塞,线程池被撑开,导致线程增多,于是,我们查看了一下Tomcat线程池的设置,我们发现Tomcat线程池设置了800,按理说,永远不会超过1024。 maxThreads="800" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" /> 关键在于,笔者所在的支付平台服务化架构中,使用了两套服务化框架,一个是基于dubbo的框架,一个是点对点的RPC,用来紧急情况下dubbo服务出现问题,服务降级使用。 每个服务都配置了点对点的RPC服务,并且独享一个线程池: maxThreads="800" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" /> 由于我们在对dubbo服务框架进行定制化的时候,设计了自动降级原则,如果dubbo服务负载变高,会自动切换到点对点的RPC框架,这也符合微服务的失效转移原则,但是设计中没有进行全面的考虑,一旦一部分服务切换到了点对点的RPC,而一部分的服务没有切换,就导致两个现场池都被撑满,于是超过了1024的限制,就出了问题。 到这里,我们基本可以验证,问题的根源是日志切割导致IO负载增加,然后阻塞线程池,最后发生OOM:unable to create new native thread。 剩下的任务就是最小化重现的问题,通过实践来验证问题的原因。我们与性能压测部门沟通,提出压测需求: Tomcat线程池最大设置为1500.操作系统允许的最大用户进程数1024.在给服务加压的过程中,需要人工制造繁忙的IO操作,IO等待不得低于50%。经过压测压测部门的一下午努力,环境搞定,结果证明完全可以重现此问题。 最后,与所有相关部门讨论和复盘,应用解决方案,解决方案包括: 全部应用改成按照小时切割,或者直接使用log4j的日志滚动功能。Tomcat线程池的线程数设置与操作系统的线程数设置不合理,适当的减少Tomcat线程池线程数量的大小。升级log4j日志,使用logback或者log4j2。这次OOM问题的可以归结为“多个因、多个果、多台机器、多个服务池、不同时间”,针对这个问题,与运维部、监控部和性能压测部门的同事奋斗了几天几夜,终于通过在线上抓取信息、分析问题、在性能压测部门同事的帮助下,最小化重现问题并找到问题的根源原因,最后,针对问题产生的根源提供了有效的方案。 与监控同事现场编写的脚本 本节提供一个笔者在实践过程中解决OOM问题的一个简单脚本,这个脚本是为了解决OOM(unable to create native thread)的问题而在问题机器上临时编写,并临时使用的,脚本并没有写的很专业,笔者也没有进行优化,保持原汁原味的风格,这样能让读者有种身临其境的感觉,只是为了抓取需要的信息并解决问题,但是在线上问题十分火急的情况下,这个脚本会有大用处。 !/bin/bash ps -Leo pid,lwp,user,pcpu,pmem,cmd >> /tmp/pthreads.logecho "ps -Leo pid,lwp,user,pcpu,pmem,cmd >> /tmp/pthreads.log" >> /tmp/pthreads.logecho date >> /tmp/pthreads.logecho 1 pid=ps aux|grep tomcat|grep cwh|awk -F ' ' '{print $2}'echo 2 echo "pstack $pid >> /tmp/pstack.log" >> /tmp/pstack.logpstack $pid >> /tmp/pstack.logecho date >> /tmp/pstack.logecho 3 echo "lsof >> /tmp/sys-o-files.log" >> /tmp/sys-o-files.loglsof >> /tmp/sys-o-files.logecho date >> /tmp/sys-o-files.logecho 4 echo "lsof -p $pid >> /tmp/service-o-files.log" >> /tmp/service-o-files.loglsof -p $pid >> /tmp/service-o-files.logecho date >> /tmp/service-o-files.logecho 5 echo "jstack -l $pid >> /tmp/js.log" >> /tmp/js.logjstack -l -F $pid >> /tmp/js.logecho date >> /tmp/js.logecho 6 echo "free -m >> /tmp/free.log" >> /tmp/free.logfree -m >> /tmp/free.logecho date >> /tmp/free.logecho 7 echo "vmstat 2 1 >> /tmp/vm.log" >> /tmp/vm.logvmstat 2 1 >> /tmp/vm.logecho date >> /tmp/vm.logecho 8 echo "jmap -dump:format=b,file=/tmp/heap.hprof 2743" >> /tmp/jmap.logjmap -dump:format=b,file=/tmp/heap.hprof >> /tmp/jmap.logecho date >> /tmp/jmap.logecho 9 echo end
hiekay 2019-12-02 01:39:43 0 浏览量 回答数 0

问题

镜像定制

约束要求和建议 请勿更改 Tomcat 的默认启动脚本、目录与日志路径,确保可以获得完整的 EDAS 产品功能。随着 EDAS 新应用版本发布,需要重新打包发布镜像,拥有 EDAS 新功能特性。...
猫饭先生 2019-12-01 21:03:26 829 浏览量 回答数 0

问题

一些 Docker 的技巧

原文 Some Docker Tips and Tricks 由 Wouter Danes 编写 Docker 可能一开始让你望而生畏,但确实是一个非常伟大的工具。用 Shells 工作令人烦扰,并且有陷阱。...
寒喵 2019-12-01 21:51:10 942 浏览量 回答数 0

问题

Serverless 应用引擎

Serverless 应用引擎 1、 什么是Serverless应用引擎? 2、 如何使用Spring Cloud开发微服务应用并部署至SAE? 3、 如何实现负载均衡? 4、 如何实现配置管理? 5、 如何搭建服务网关? 6...
黄一刀 2020-04-04 01:01:31 142 浏览量 回答数 1

问题

Web应用托管服务

Web应用托管服务 1、 什么是Web应用托管服务Web+? 2、 Web应用托管的应用场景有哪些 3、 Web应用托管服务产品优势有哪些 4、 Web应用托管服务基本概念有哪些 5、 Web应用托管服务支持地域有哪些...
黄一刀 2020-04-04 00:25:17 99 浏览量 回答数 1

回答

下表介绍了Web+自2019年6月14日公测上线以来的迭代版本的重要功能说明以及相关文档链接。 2020-02-06 功能名称 功能描述 功能类型 相关文档 一键部署WordPress应用 可以在控制台上一键部署WordPress应用程序,默认使用单机部署的MySQL数据库,降低启动成本。 新增 一键启动WordPress 支持编排Redis资源 可以在控制台界面上直接添加和配置Redis资源。 新增 云数据库Redis 开放Nginx配置文件的编辑功能 在控制台概览页右侧可以查看各开发语言的快速入门交互式教程。 新增 反向代理服务器 免费的OSS存储空间 在创建应用的时候可以选择使用由系统提供的免费OSS存储空间。 优化 / 2019-12-05 功能名称 功能描述 功能类型 相关文档 支持域名托管 支持托管阿里云云解析和任何第三方域名服务提供商处注册的域名。 新增 域名托管 支持分批部署 当部署环境有多台实例的时候,支持按照指定规则进行分批部署,以保证业务不中断。 新增 部署环境 各开发语言的交互式教程 在控制台概览页右侧可以查看各开发语言的快速入门交互式教程。 新增 / 开通向导优化 支持一键开通及授权相关产品。 优化 开通Web+相关服务并授权 部署环境配置界面优化 以架构图的方式展现环境配置信息,并可以进行编辑操作。 优化 / 支持禁用健康检查 部署环境默认禁用健康检查,您可以在环境配置界面选择手动开启。 优化 配置健康检查 2019-09-29 功能名称 功能描述 功能类型 相关文档 代购ECS实例 支持使用控制台和CLI代购包年包月的ECS实例。 新增 ECS实例 代购SLB实例 支持使用CLI代购包年包月SLB实例。 新增 使用CLI配置SLB 代购RDS实例 支持使用CLI代购包年包月RDS实例。 新增 使用CLI配置RDS 支持HTTPS访问 可以在SLB和反向代理层配置证书实现HTTPS访问。 新增 为部署环境配置HTTPS 2019-09-25 功能名称 功能描述 功能类型 相关文档 正式商用 正式商用后Web+仍然免费,您只需要对用到的底层资源付费。 新增 / 2019-09-04 功能名称 功能描述 功能类型 相关文档 支持导入已购买的ECS实例 您在ECS控制台购买的ECS实例,可在Web+导入使用。 新增 导入ECS实例 支持.NET Core应用 支持在Web+控制台托管.NET Core应用。 新增 设置ASP.NET Core开发环境 部署ASP.NET Core应用至Web+ 支持Ruby应用 支持在Web+控制台托管Ruby应用。 新增 配置Ruby开发环境 部署Ruby on Rails应用至Web+ 显示部署环境资源 在部署环境概览页,可以展示部署环境内包含的资源。 新增 部署环境信息说明 2019-08-12 功能名称 功能描述 功能类型 相关文档 支持Python应用 支持在Web+控制台托管Python应用。 新增 设置Python开发环境 使用Flask开发应用 使用Django开发应用 反向代理优化 支持关闭反向代理服务器。 新增 反向代理服务器 2019-08-06 功能名称 功能描述 功能类型 相关文档 支持Go应用 支持在Web+控制台托管Go应用。 新增 设置Go开发环境 将Beego应用部署到Web+ 向Go应用的部署环境中添加RDS实例 支持PHP应用 支持在Web+控制台托管PHP应用。 新增 设置PHP开发环境 使用Symfony开发应用 使用Laravel框架开发应用 支持导入SLB实例 您在SLB控制台购买的SLB实例,可导入Web+使用。 新增 导入负载均衡SLB 应用生命周期挂钩脚本 Web+提供了通过设置命令来管理用户的服务进程,以及通过设置生命周期挂钩来简化部署、监控、运维和治理等应用生命周期管理操作。 新增 命令与生命周期挂钩 增加技术栈版本 在部分技术栈内,有多个技术栈版本可选择。 新增 技术栈 2019-07-25 功能名称 功能描述 功能类型 相关文档 功能优化 产品功能性能优化,使Web+的使用体验更良好。 优化 / 2019-07-15 功能名称 功能描述 功能类型 相关文档 支持Node.js应用 支持在Web+托管Node.js语言的应用。 新增 设置Node.js开发环境 将Express应用部署到Web+ 向Node.js应用部署环境中添加RDS数据库实例 支持RDS 支持在控制台和CLI内为部署环境配置RDS。 新增 云数据库RDS 变更操作清单 在部署环境中变更配置时,会罗列出变更资源的清单。 新增 / 2019-06-14 功能名称 功能描述 功能类型 相关文档 产品正式公测 Web+正式在阿里云公测上线,免费开放给用户托管应用。 新增 什么是Web应用托管服务Web+? 支持Java技术栈应用 支持在控制台和CLI内将Java技术栈的应用托管至Web+。 新增 设置Java开发环境 使用Spring Boot开发应用 向Java应用的部署环境中添加RDS实例 支持Tomcat技术栈应用 支持在控制台和CLI内将Tomcat技术栈的应用托管至Web+。 新增 项目文件夹结构设置 使用Web+部署Tomcat应用 日志和诊断 支持下载日志和诊断信息排查问题。 新增 查看日志 支持控制台部署 可以在控制台快速创建应用并部署。 新增 在Web+控制台快速部署应用 支持CLI部署 可以使用CLI快速创建应用并部署。 新增 使用CLI快速部署Java应用
1934890530796658 2020-03-23 15:41:58 0 浏览量 回答数 0

回答

一、dubbo已经很久没有维护了【至少已经3-4年没有大版本更新】,据说阿里内部已不用dubbo改用HSF,求证?那么问题来了... Java8语法支持不好,service类,用java8语法或语法糖支持不好,可能会报【Caused by: java.io.IOException: invalid constant type: 18】异常。解决办法:升级javassist到3.20.0-GA,同时升级tomcat到8.5.0+版本。 文档不清晰,例如provider中的connection占用的连接数不是针对每个consumer,而是每个reference。 dubbo很多功能模块不成熟未达到生产环境的要求,具体可以参考dubbo用户指南中的功能成熟度介绍,24个功能模块中只有7个可在生产环境中使用。 dubbo-provider端的accesslog日志信息,明显不足,连耗时,执行是否成功等信息都没有,例如:一个请求异常,也会记录一条和正常请求类似的日志记录。 二、我们参考当当dubbox,让dubbo支持rest,发现其性能比springmvc的rest至少低30%;且consumer端不支持注解方式引入。 rest方式便于开发、联调和服务升级,在dubbo中性能并不比rpc差很多,具体可以参考 dubbo用户指南 中的测试结果。而且可以通过nginx一些插件,不强制客户端也使用dubbo,易于兼容老站点和推广。 三、dubbo不是个完善的服务治理框架,尤其是监控这块【缺少hystrix|turbine、sleuth类似的分布式跟踪与分析工具】,当然主要原因是好多年没大版本更新了,也哟开源社区对dubbo支持不够的原因,很多服务治理的模块没有或不完善, 例如:服务网关、熔断器、分布式跟踪、分布式配置、分布式事务等。
苍霞学子 2021-03-18 16:31:51 0 浏览量 回答数 0

问题

DRUID怎么使用log4j把所有执行的sql记录到.log日志文件? 配置报错 

需求说明:使用druid作为数据库连接池,拦截所有执行的SQL语句  不是使用druid内置昂的监控servlet页面 (/druid/index.html,这个已实现,可以正常访问)  监控的servlet...
kun坤 2020-06-04 11:51:34 5 浏览量 回答数 1

回答

在 Cloud Alert 中创建 Nagios 应用,点击集成 — 监控工具 — Nagios 填写“应用名称”,点击“保存并获取应用key” 下载Agent安装包 在 Nagios 服务器中,使用 root 或 nagios 用户下载 wget https://download.aiops.com/ca_agent/nagios/ca_agent-4.1.3.1-linux-x64.tar.gz 安装Agent 注:下文以Nagios默认安装路径/user/local/nagios/为例,如果你的Nagios服务器不是安装在该目录,请自行替换。 tar -xzf ca_agent-4.1.3.1-linux-x64.tar.gz cp -R ca_agent /usr/local/nagios/libexec/ cp ca_agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/ chmod +x /usr/local/nagios/libexec/nagios cp ca-agent/plugin/nagios-plugin/cloudalert.cfg /usr/local/nagios/etc/objects/ 修改配置 ①修改/usr/local/nagios/etc/objects/cloudalert.cfg,设置pager为刚才点击保存所获取的appkey vi /usr/local/nagios/etc/objects/cloudalert.cfg define contact{ contact_name cloudalert ; The name of this contact template alias ca ; service_notification_period 24x7 ; service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events service_notification_commands notify-service-by-cloudalert ; send service notifications via email host_notification_commands notify-host-by-cloudalert ; send host notifications via email pager -- --处填入您新建应用时生成的appkey ; } ② 修改/usr/local/nagios/etc/objects/contacts.cfg,新增cloudalert到默认联系组 vi /usr/local/nagios/etc/objects/contacts.cfg define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin,cloudalert } ③ 修改/usr/local/nagios/etc/nagios.cfg,将cloudalert.cfg新增到nagios.cfg中 vi /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/cloudalert.cfg ④ 可选:为了让告警信息显示更加友好,建议修改nagios.cfg由原来us更改为iso8601 vi /usr/local/nagios/etc/nagios.cfg 重启Nagios 重启前请检查配置是不是正确 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 请使用root账号重启Nagios service nagios restart 集成结果验证 登录Nagios页面控制台发送通知 注:请确认对应服务的notifications_enabled为1 define service{ use local-service ; Name of service template to use host_name localhost service_description Tomcat18080 check_command check_http18080 notifications_enabled 1 } 8. 查看agent日志,出现success字样代表成功 tail -f /usr/local/nagios/libexec/ca_agent/log/agent.log 10-05-2015 15:48:53,056 CST INFO [main] [com.upyoo.agent.NagiosClient@45] start to call alert ... 10-05-2015 15:48:53,063 CST INFO [main] [com.upyoo.agent.CommandClient@82] ``alarmName:PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmContent:localhost/127.0.0.1/Tomcat18080connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] ``entityName:127.0.0.1/Tomcat18080 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] priority:CRITICAL 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] ``app:9c4bc722-6677-9fc9-fbdc-003d8977d17e 10-05-2015 15:48:53,067 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,069 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,105 CST INFO [main] [com.upyoo.agent.CommandClient@58] start to post url:http://api.aiops.com/alert/api/event 10-05-2015 15:48:53,180 CST INFO [main] [com.upyoo.agent.CommandClient@65] body:{"app":"9c4bc722-6677-9fc9-fbdc-003d8977d17e","alarmContent":"localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-1015:48:52","eventId":"8G8OGOYUCOOLOENYOGGENOOOOONYNOLU","priority":"3","alarmName":"PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL","eventType":"trigger","entityName":"127.0.0.1/Tomcat18080"} 10-05-2015 15:48:53,775 CST INFO [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3516","totalCount":0,"code":"200"} 二.设置分派策略 点击配置 — 分派策略 — 新建分派 2. 输入分派策略名称 — 选择应用 — 设置分派人(告警发生时通知的人),点击保存 这一步骤的可选择性就比较多了,用户可以根据【告警级别】【告警内容】【主机】【服务】【告警对象】【hostgroups】【servicegroups】等条件,来添加指定条件分派通知。 三.设置通知策略 点击【配置】—【通知策略】-【新建通知】 通知策略的可选择性也是很高的,用户可选择的地方有:告警状态、告警级别、通知方式、时间设置、延迟策略、通知人等,其中的意思分别如下: 告警状态:选择告警通知的状态。分别有发生时、认领时、关闭时、全选,4种选择。 告警级别:选择告警通知的级别。分别有提醒、警告、严重、所有,4种选择。 通知方式:选择告警通知的方式。分别有电话、短信、邮件、微信、APP,5种选择。 时间设置:选择告警通知的时间。分别有任何时间、工作时间、非工作时间,3种选择。 延迟策略:选择告警通知是否延迟。 通知人:选择告警通知的人。 例如:任何时间告警发生时严重级别的告警立刻微信通知所有人。 告警状态 — 发生时;告警级别 — 严重;通知方式 — 微信;时间设置 — 任何时间;延迟策略 — 立刻;通知人 — 全选
游客2q7uranxketok 2021-02-08 10:53:59 0 浏览量 回答数 0

回答

一.Nagios集成 在 Cloud Alert 中创建 Nagios 应用,点击集成 — 监控工具 — Nagios 填写“应用名称”,点击“保存并获取应用key” 下载Agent安装包 在 Nagios 服务器中,使用 root 或 nagios 用户下载 wget https://download.aiops.com/ca_agent/nagios/ca_agent-4.1.3.1-linux-x64.tar.gz 安装Agent 注:下文以Nagios默认安装路径/user/local/nagios/为例,如果你的Nagios服务器不是安装在该目录,请自行替换。 tar -xzf ca_agent-4.1.3.1-linux-x64.tar.gz cp -R ca_agent /usr/local/nagios/libexec/ cp ca_agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/ chmod +x /usr/local/nagios/libexec/nagios cp ca-agent/plugin/nagios-plugin/cloudalert.cfg /usr/local/nagios/etc/objects/ 修改配置 ①修改/usr/local/nagios/etc/objects/cloudalert.cfg,设置pager为刚才点击保存所获取的appkey vi /usr/local/nagios/etc/objects/cloudalert.cfg define contact{ contact_name cloudalert ; The name of this contact template alias ca ; service_notification_period 24x7 ; service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events service_notification_commands notify-service-by-cloudalert ; send service notifications via email host_notification_commands notify-host-by-cloudalert ; send host notifications via email pager -- --处填入您新建应用时生成的appkey ; } ②修改/usr/local/nagios/etc/objects/contacts.cfg,新增cloudalert到默认联系组 vi /usr/local/nagios/etc/objects/contacts.cfg define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin,cloudalert } ③修改/usr/local/nagios/etc/nagios.cfg,将cloudalert.cfg新增到nagios.cfg中 vi /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/cloudalert.cfg ④可选:为了让告警信息显示更加友好,建议修改nagios.cfg由原来us更改为iso8601 vi /usr/local/nagios/etc/nagios.cfg 6.重启Nagios 重启前请检查配置是不是正确 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 请使用root账号重启Nagios service nagios restart 7.集成结果验证 登录Nagios页面控制台发送通知 注:请确认对应服务的notifications_enabled为1 define service{ use local-service ; Name of service template to use host_name localhost service_description Tomcat18080 check_command check_http18080 notifications_enabled 1 } 8.查看agent日志,出现success字样代表成功 tail -f /usr/local/nagios/libexec/ca_agent/log/agent.log 10-05-2015 15:48:53,056 CST INFO [main] [com.upyoo.agent.NagiosClient@45] start to call alert ... 10-05-2015 15:48:53,063 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmName:PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmContent:localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] entityName:127.0.0.1/Tomcat18080 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] priority:CRITICAL 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] app:9c4bc722-6677-9fc9-fbdc-003d8977d17e 10-05-2015 15:48:53,067 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,069 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,105 CST INFO [main] [com.upyoo.agent.CommandClient@58] start to post url:http://api.aiops.com/alert/api/event 10-05-2015 15:48:53,180 CST INFO [main] [com.upyoo.agent.CommandClient@65] body:{"app":"9c4bc722-6677-9fc9-fbdc-003d8977d17e","alarmContent":"localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52","eventId":"8G8OGOYUCOOLOENYOGGENOOOOONYNOLU","priority":"3","alarmName":"PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL","eventType":"trigger","entityName":"127.0.0.1/Tomcat18080"} 10-05-2015 15:48:53,775 CST INFO [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3516","totalCount":0,"code":"200"} 二.设置分派策略 1.点击配置 — 分派策略 — 新建分派 输入分派策略名称 — 选择应用 — 设置分派人(告警发生时通知的人),点击保存这一步骤的可选择性就比较多了,用户可以根据【告警级别】【告警内容】【主机】【服务】【告警对象】【hostgroups】【servicegroups】等条件,来添加指定条件分派通知。 三.设置通知策略 点击【配置】—【通知策略】-【新建通知】 通知策略的可选择性也是很高的,用户可选择的地方有:告警状态、告警级别、通知方式、时间设置、延迟策略、通知人等,其中的意思分别如下: 告警状态:选择告警通知的状态。分别有发生时、认领时、关闭时、全选,4种选择。 告警级别:选择告警通知的级别。分别有提醒、警告、严重、所有,4种选择。 通知方式:选择告警通知的方式。分别有电话、短信、邮件、微信、APP,5种选择。 时间设置:选择告警通知的时间。分别有任何时间、工作时间、非工作时间,3种选择。 延迟策略:选择告警通知是否延迟。 通知人:选择告警通知的人。 例如:任何时间告警发生时严重级别的告警立刻微信通知所有人。 告警状态 — 发生时;告警级别 — 严重;通知方式 — 微信;时间设置 — 任何时间;延迟策略 — 立刻;通知人 — 全选 Nagios与CA告警级别映射关系 Nagios与CA告警级别映射关系以上设置就满足了不同的告警需求,多样化的通知方式,使得告警达到通知必达的效果。
游客2q7uranxketok 2021-02-09 11:02:23 0 浏览量 回答数 0

回答

一.Nagios集成 在 Cloud Alert 中创建 Nagios 应用,点击集成 — 监控工具 — Nagios 填写“应用名称”,点击“保存并获取应用key” 下载Agent安装包 在 Nagios 服务器中,使用 root 或 nagios 用户下载 wget https://download.aiops.com/ca_agent/nagios/ca_agent-4.1.3.1-linux-x64.tar.gz 安装Agent 注:下文以Nagios默认安装路径/user/local/nagios/为例,如果你的Nagios服务器不是安装在该目录,请自行替换。 tar -xzf ca_agent-4.1.3.1-linux-x64.tar.gz cp -R ca_agent /usr/local/nagios/libexec/ cp ca_agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/ chmod +x /usr/local/nagios/libexec/nagios cp ca-agent/plugin/nagios-plugin/cloudalert.cfg /usr/local/nagios/etc/objects/ 修改配置 ①修改/usr/local/nagios/etc/objects/cloudalert.cfg,设置pager为刚才点击保存所获取的appkey vi /usr/local/nagios/etc/objects/cloudalert.cfg define contact{ contact_name cloudalert ; The name of this contact template alias ca ; service_notification_period 24x7 ; service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events service_notification_commands notify-service-by-cloudalert ; send service notifications via email host_notification_commands notify-host-by-cloudalert ; send host notifications via email pager -- --处填入您新建应用时生成的appkey ; } ②修改/usr/local/nagios/etc/objects/contacts.cfg,新增cloudalert到默认联系组 vi /usr/local/nagios/etc/objects/contacts.cfg define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin,cloudalert } ③修改/usr/local/nagios/etc/nagios.cfg,将cloudalert.cfg新增到nagios.cfg中 vi /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/cloudalert.cfg ④可选:为了让告警信息显示更加友好,建议修改nagios.cfg由原来us更改为iso8601 vi /usr/local/nagios/etc/nagios.cfg 6.重启Nagios 重启前请检查配置是不是正确 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 请使用root账号重启Nagios service nagios restart 7.集成结果验证 登录Nagios页面控制台发送通知 注:请确认对应服务的notifications_enabled为1 define service{ use local-service ; Name of service template to use host_name localhost service_description Tomcat18080 check_command check_http18080 notifications_enabled 1 } 8.查看agent日志,出现success字样代表成功 tail -f /usr/local/nagios/libexec/ca_agent/log/agent.log 10-05-2015 15:48:53,056 CST INFO [main] [com.upyoo.agent.NagiosClient@45] start to call alert ... 10-05-2015 15:48:53,063 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmName:PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmContent:localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] entityName:127.0.0.1/Tomcat18080 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] priority:CRITICAL 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] app:9c4bc722-6677-9fc9-fbdc-003d8977d17e 10-05-2015 15:48:53,067 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,069 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,105 CST INFO [main] [com.upyoo.agent.CommandClient@58] start to post url:http://api.aiops.com/alert/api/event 10-05-2015 15:48:53,180 CST INFO [main] [com.upyoo.agent.CommandClient@65] body:{"app":"9c4bc722-6677-9fc9-fbdc-003d8977d17e","alarmContent":"localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52","eventId":"8G8OGOYUCOOLOENYOGGENOOOOONYNOLU","priority":"3","alarmName":"PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL","eventType":"trigger","entityName":"127.0.0.1/Tomcat18080"} 10-05-2015 15:48:53,775 CST INFO [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3516","totalCount":0,"code":"200"} 二.设置分派策略 1.点击配置 — 分派策略 — 新建分派 输入分派策略名称 — 选择应用 — 设置分派人(告警发生时通知的人),点击保存这一步骤的可选择性就比较多了,用户可以根据【告警级别】【告警内容】【主机】【服务】【告警对象】【hostgroups】【servicegroups】等条件,来添加指定条件分派通知。 三.设置通知策略 点击【配置】—【通知策略】-【新建通知】 通知策略的可选择性也是很高的,用户可选择的地方有:告警状态、告警级别、通知方式、时间设置、延迟策略、通知人等,其中的意思分别如下: 告警状态:选择告警通知的状态。分别有发生时、认领时、关闭时、全选,4种选择。 告警级别:选择告警通知的级别。分别有提醒、警告、严重、所有,4种选择。 通知方式:选择告警通知的方式。分别有电话、短信、邮件、微信、APP,5种选择。 时间设置:选择告警通知的时间。分别有任何时间、工作时间、非工作时间,3种选择。 延迟策略:选择告警通知是否延迟。 通知人:选择告警通知的人。 例如:任何时间告警发生时严重级别的告警立刻微信通知所有人。 告警状态 — 发生时;告警级别 — 严重;通知方式 — 微信;时间设置 — 任何时间;延迟策略 — 立刻;通知人 — 全选 Nagios与CA告警级别映射关系 Nagios与CA告警级别映射关系以上设置就满足了不同的告警需求,多样化的通知方式,使得告警达到通知必达的效果。
游客2q7uranxketok 2021-02-09 11:02:06 0 浏览量 回答数 0

回答

一.Nagios集成 在 Cloud Alert 中创建 Nagios 应用,点击集成 — 监控工具 — Nagios 填写“应用名称”,点击“保存并获取应用key” 下载Agent安装包 在 Nagios 服务器中,使用 root 或 nagios 用户下载 wget https://download.aiops.com/ca_agent/nagios/ca_agent-4.1.3.1-linux-x64.tar.gz 安装Agent 注:下文以Nagios默认安装路径/user/local/nagios/为例,如果你的Nagios服务器不是安装在该目录,请自行替换。 tar -xzf ca_agent-4.1.3.1-linux-x64.tar.gz cp -R ca_agent /usr/local/nagios/libexec/ cp ca_agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/ chmod +x /usr/local/nagios/libexec/nagios cp ca-agent/plugin/nagios-plugin/cloudalert.cfg /usr/local/nagios/etc/objects/ 修改配置 ①修改/usr/local/nagios/etc/objects/cloudalert.cfg,设置pager为刚才点击保存所获取的appkey vi /usr/local/nagios/etc/objects/cloudalert.cfg define contact{ contact_name cloudalert ; The name of this contact template alias ca ; service_notification_period 24x7 ; service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events service_notification_commands notify-service-by-cloudalert ; send service notifications via email host_notification_commands notify-host-by-cloudalert ; send host notifications via email pager -- --处填入您新建应用时生成的appkey ; } ②修改/usr/local/nagios/etc/objects/contacts.cfg,新增cloudalert到默认联系组 vi /usr/local/nagios/etc/objects/contacts.cfg define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin,cloudalert } ③修改/usr/local/nagios/etc/nagios.cfg,将cloudalert.cfg新增到nagios.cfg中 vi /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/cloudalert.cfg ④可选:为了让告警信息显示更加友好,建议修改nagios.cfg由原来us更改为iso8601 vi /usr/local/nagios/etc/nagios.cfg 6.重启Nagios 重启前请检查配置是不是正确 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 请使用root账号重启Nagios service nagios restart 7.集成结果验证 登录Nagios页面控制台发送通知 注:请确认对应服务的notifications_enabled为1 define service{ use local-service ; Name of service template to use host_name localhost service_description Tomcat18080 check_command check_http18080 notifications_enabled 1 } 8.查看agent日志,出现success字样代表成功 tail -f /usr/local/nagios/libexec/ca_agent/log/agent.log 10-05-2015 15:48:53,056 CST INFO [main] [com.upyoo.agent.NagiosClient@45] start to call alert ... 10-05-2015 15:48:53,063 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmName:PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmContent:localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] entityName:127.0.0.1/Tomcat18080 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] priority:CRITICAL 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] app:9c4bc722-6677-9fc9-fbdc-003d8977d17e 10-05-2015 15:48:53,067 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,069 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,105 CST INFO [main] [com.upyoo.agent.CommandClient@58] start to post url:http://api.aiops.com/alert/api/event 10-05-2015 15:48:53,180 CST INFO [main] [com.upyoo.agent.CommandClient@65] body:{"app":"9c4bc722-6677-9fc9-fbdc-003d8977d17e","alarmContent":"localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52","eventId":"8G8OGOYUCOOLOENYOGGENOOOOONYNOLU","priority":"3","alarmName":"PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL","eventType":"trigger","entityName":"127.0.0.1/Tomcat18080"} 10-05-2015 15:48:53,775 CST INFO [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3516","totalCount":0,"code":"200"} 二.设置分派策略 1.点击配置 — 分派策略 — 新建分派 输入分派策略名称 — 选择应用 — 设置分派人(告警发生时通知的人),点击保存这一步骤的可选择性就比较多了,用户可以根据【告警级别】【告警内容】【主机】【服务】【告警对象】【hostgroups】【servicegroups】等条件,来添加指定条件分派通知。 三.设置通知策略 点击【配置】—【通知策略】-【新建通知】 通知策略的可选择性也是很高的,用户可选择的地方有:告警状态、告警级别、通知方式、时间设置、延迟策略、通知人等,其中的意思分别如下: 告警状态:选择告警通知的状态。分别有发生时、认领时、关闭时、全选,4种选择。 告警级别:选择告警通知的级别。分别有提醒、警告、严重、所有,4种选择。 通知方式:选择告警通知的方式。分别有电话、短信、邮件、微信、APP,5种选择。 时间设置:选择告警通知的时间。分别有任何时间、工作时间、非工作时间,3种选择。 延迟策略:选择告警通知是否延迟。 通知人:选择告警通知的人。 例如:任何时间告警发生时严重级别的告警立刻微信通知所有人。 告警状态 — 发生时;告警级别 — 严重;通知方式 — 微信;时间设置 — 任何时间;延迟策略 — 立刻;通知人 — 全选 Nagios与CA告警级别映射关系 Nagios与CA告警级别映射关系以上设置就满足了不同的告警需求,多样化的通知方式,使得告警达到通知必达的效果。
游客2q7uranxketok 2021-02-09 11:01:40 0 浏览量 回答数 0

回答

一.Nagios集成 在 Cloud Alert 中创建 Nagios 应用,点击集成 — 监控工具 — Nagios 填写“应用名称”,点击“保存并获取应用key” 下载Agent安装包 在 Nagios 服务器中,使用 root 或 nagios 用户下载 wget https://download.aiops.com/ca_agent/nagios/ca_agent-4.1.3.1-linux-x64.tar.gz 安装Agent 注:下文以Nagios默认安装路径/user/local/nagios/为例,如果你的Nagios服务器不是安装在该目录,请自行替换。 tar -xzf ca_agent-4.1.3.1-linux-x64.tar.gz cp -R ca_agent /usr/local/nagios/libexec/ cp ca_agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/ chmod +x /usr/local/nagios/libexec/nagios cp ca-agent/plugin/nagios-plugin/cloudalert.cfg /usr/local/nagios/etc/objects/ 修改配置 ①修改/usr/local/nagios/etc/objects/cloudalert.cfg,设置pager为刚才点击保存所获取的appkey vi /usr/local/nagios/etc/objects/cloudalert.cfg define contact{ contact_name cloudalert ; The name of this contact template alias ca ; service_notification_period 24x7 ; service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events service_notification_commands notify-service-by-cloudalert ; send service notifications via email host_notification_commands notify-host-by-cloudalert ; send host notifications via email pager -- --处填入您新建应用时生成的appkey ; } ②修改/usr/local/nagios/etc/objects/contacts.cfg,新增cloudalert到默认联系组 vi /usr/local/nagios/etc/objects/contacts.cfg define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin,cloudalert } ③修改/usr/local/nagios/etc/nagios.cfg,将cloudalert.cfg新增到nagios.cfg中 vi /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/cloudalert.cfg ④可选:为了让告警信息显示更加友好,建议修改nagios.cfg由原来us更改为iso8601 vi /usr/local/nagios/etc/nagios.cfg 6.重启Nagios 重启前请检查配置是不是正确 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 请使用root账号重启Nagios service nagios restart 7.集成结果验证 登录Nagios页面控制台发送通知 注:请确认对应服务的notifications_enabled为1 define service{ use local-service ; Name of service template to use host_name localhost service_description Tomcat18080 check_command check_http18080 notifications_enabled 1 } 8.查看agent日志,出现success字样代表成功 tail -f /usr/local/nagios/libexec/ca_agent/log/agent.log 10-05-2015 15:48:53,056 CST INFO [main] [com.upyoo.agent.NagiosClient@45] start to call alert ... 10-05-2015 15:48:53,063 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmName:PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmContent:localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] entityName:127.0.0.1/Tomcat18080 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] priority:CRITICAL 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] app:9c4bc722-6677-9fc9-fbdc-003d8977d17e 10-05-2015 15:48:53,067 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,069 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,105 CST INFO [main] [com.upyoo.agent.CommandClient@58] start to post url:http://api.aiops.com/alert/api/event 10-05-2015 15:48:53,180 CST INFO [main] [com.upyoo.agent.CommandClient@65] body:{"app":"9c4bc722-6677-9fc9-fbdc-003d8977d17e","alarmContent":"localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52","eventId":"8G8OGOYUCOOLOENYOGGENOOOOONYNOLU","priority":"3","alarmName":"PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL","eventType":"trigger","entityName":"127.0.0.1/Tomcat18080"} 10-05-2015 15:48:53,775 CST INFO [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3516","totalCount":0,"code":"200"} 二.设置分派策略 1.点击配置 — 分派策略 — 新建分派 输入分派策略名称 — 选择应用 — 设置分派人(告警发生时通知的人),点击保存这一步骤的可选择性就比较多了,用户可以根据【告警级别】【告警内容】【主机】【服务】【告警对象】【hostgroups】【servicegroups】等条件,来添加指定条件分派通知。 三.设置通知策略 点击【配置】—【通知策略】-【新建通知】 通知策略的可选择性也是很高的,用户可选择的地方有:告警状态、告警级别、通知方式、时间设置、延迟策略、通知人等,其中的意思分别如下: 告警状态:选择告警通知的状态。分别有发生时、认领时、关闭时、全选,4种选择。 告警级别:选择告警通知的级别。分别有提醒、警告、严重、所有,4种选择。 通知方式:选择告警通知的方式。分别有电话、短信、邮件、微信、APP,5种选择。 时间设置:选择告警通知的时间。分别有任何时间、工作时间、非工作时间,3种选择。 延迟策略:选择告警通知是否延迟。 通知人:选择告警通知的人。 例如:任何时间告警发生时严重级别的告警立刻微信通知所有人。 告警状态 — 发生时;告警级别 — 严重;通知方式 — 微信;时间设置 — 任何时间;延迟策略 — 立刻;通知人 — 全选 Nagios与CA告警级别映射关系 Nagios与CA告警级别映射关系以上设置就满足了不同的告警需求,多样化的通知方式,使得告警达到通知必达的效果。
游客2q7uranxketok 2021-02-09 11:02:35 0 浏览量 回答数 0

回答

一.Nagios集成 在 Cloud Alert 中创建 Nagios 应用,点击集成 — 监控工具 — Nagios 填写“应用名称”,点击“保存并获取应用key” 下载Agent安装包 在 Nagios 服务器中,使用 root 或 nagios 用户下载 wget https://download.aiops.com/ca_agent/nagios/ca_agent-4.1.3.1-linux-x64.tar.gz 安装Agent 注:下文以Nagios默认安装路径/user/local/nagios/为例,如果你的Nagios服务器不是安装在该目录,请自行替换。 tar -xzf ca_agent-4.1.3.1-linux-x64.tar.gz cp -R ca_agent /usr/local/nagios/libexec/ cp ca_agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/ chmod +x /usr/local/nagios/libexec/nagios cp ca-agent/plugin/nagios-plugin/cloudalert.cfg /usr/local/nagios/etc/objects/ 修改配置 ①修改/usr/local/nagios/etc/objects/cloudalert.cfg,设置pager为刚才点击保存所获取的appkey vi /usr/local/nagios/etc/objects/cloudalert.cfg define contact{ contact_name cloudalert ; The name of this contact template alias ca ; service_notification_period 24x7 ; service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events service_notification_commands notify-service-by-cloudalert ; send service notifications via email host_notification_commands notify-host-by-cloudalert ; send host notifications via email pager -- --处填入您新建应用时生成的appkey ; } ②修改/usr/local/nagios/etc/objects/contacts.cfg,新增cloudalert到默认联系组 vi /usr/local/nagios/etc/objects/contacts.cfg define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin,cloudalert } ③修改/usr/local/nagios/etc/nagios.cfg,将cloudalert.cfg新增到nagios.cfg中 vi /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/cloudalert.cfg ④可选:为了让告警信息显示更加友好,建议修改nagios.cfg由原来us更改为iso8601 vi /usr/local/nagios/etc/nagios.cfg 6.重启Nagios 重启前请检查配置是不是正确 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 请使用root账号重启Nagios service nagios restart 7.集成结果验证 登录Nagios页面控制台发送通知 注:请确认对应服务的notifications_enabled为1 define service{ use local-service ; Name of service template to use host_name localhost service_description Tomcat18080 check_command check_http18080 notifications_enabled 1 } 8.查看agent日志,出现success字样代表成功 tail -f /usr/local/nagios/libexec/ca_agent/log/agent.log 10-05-2015 15:48:53,056 CST INFO [main] [com.upyoo.agent.NagiosClient@45] start to call alert ... 10-05-2015 15:48:53,063 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmName:PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmContent:localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52 10-05-2015 15:48:53,064 CST INFO [main] [com.upyoo.agent.CommandClient@82] entityName:127.0.0.1/Tomcat18080 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] priority:CRITICAL 10-05-2015 15:48:53,066 CST INFO [main] [com.upyoo.agent.CommandClient@82] app:9c4bc722-6677-9fc9-fbdc-003d8977d17e 10-05-2015 15:48:53,067 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,068 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,069 CST INFO [main] [com.upyoo.agent.CommandClient@82] 10-05-2015 15:48:53,105 CST INFO [main] [com.upyoo.agent.CommandClient@58] start to post url:http://api.aiops.com/alert/api/event 10-05-2015 15:48:53,180 CST INFO [main] [com.upyoo.agent.CommandClient@65] body:{"app":"9c4bc722-6677-9fc9-fbdc-003d8977d17e","alarmContent":"localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52","eventId":"8G8OGOYUCOOLOENYOGGENOOOOONYNOLU","priority":"3","alarmName":"PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL","eventType":"trigger","entityName":"127.0.0.1/Tomcat18080"} 10-05-2015 15:48:53,775 CST INFO [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3516","totalCount":0,"code":"200"} 二.设置分派策略 1.点击配置 — 分派策略 — 新建分派 输入分派策略名称 — 选择应用 — 设置分派人(告警发生时通知的人),点击保存这一步骤的可选择性就比较多了,用户可以根据【告警级别】【告警内容】【主机】【服务】【告警对象】【hostgroups】【servicegroups】等条件,来添加指定条件分派通知。 三.设置通知策略 点击【配置】—【通知策略】-【新建通知】 通知策略的可选择性也是很高的,用户可选择的地方有:告警状态、告警级别、通知方式、时间设置、延迟策略、通知人等,其中的意思分别如下: 告警状态:选择告警通知的状态。分别有发生时、认领时、关闭时、全选,4种选择。 告警级别:选择告警通知的级别。分别有提醒、警告、严重、所有,4种选择。 通知方式:选择告警通知的方式。分别有电话、短信、邮件、微信、APP,5种选择。 时间设置:选择告警通知的时间。分别有任何时间、工作时间、非工作时间,3种选择。 延迟策略:选择告警通知是否延迟。 通知人:选择告警通知的人。 例如:任何时间告警发生时严重级别的告警立刻微信通知所有人。 告警状态 — 发生时;告警级别 — 严重;通知方式 — 微信;时间设置 — 任何时间;延迟策略 — 立刻;通知人 — 全选 Nagios与CA告警级别映射关系 Nagios与CA告警级别映射关系以上设置就满足了不同的告警需求,多样化的通知方式,使得告警达到通知必达的效果。
游客2q7uranxketok 2021-02-09 11:02:46 0 浏览量 回答数 0

问题

jconsole观察c3p0,发现不停地有阻塞?报错

c3p0有时候会报错,导致容器重新启动,服务挂掉。 使用jconsole进行监控,线程里面信息显示如下: 名称: C3P0PooledConnectio...
爱吃鱼的程序员 2020-06-22 13:43:14 0 浏览量 回答数 1

回答

Linux下如何进行FTP设置  ECSLinux服务器如何配置网站以及绑定域名  Ubuntu安装vncserver实现图形化访问  阿里云Docker镜像库  ECSlinux中添加ftp用户,并设置相应的权限  CentOS6.5安装vncserver实现图形化访问  LinuxSCP命令复制传输文件的用法  Mysql,phpmyadmin密码忘了怎么  Linux下l2tp客户端xl2tpd的安装配置  使用SFTP方式传输文件  ECSLinux系统盘网站数据更换至数据盘  WDCP的报错处理  Linux中PHP如何安装curl扩展方法  修改Linux服务器的ssh端口  ECSLinux配置vnc文档  运维分享--阿里云linux系统mysql密码修改脚本  20步打造最安全的NginxWeb服务器  SSH配置存在问题,导致登录和传输数据很慢  ECSLinux下如何查看定位当前正在运行的Nginx的配置文件  ECS服务器CentOS系统如何开放端口  查看Linux下默认的DNS  FTP主动被动模式配置混乱导致无法登录  linux环境配置phpmyadmin  ECSLinux系统下VSFTP配置的FTP上传文件报错“553Couldnotcreatefile”  ECSLinuxMysql启动提示Toomanyarguments(firstextrais'start')  运维分享--阿里云linux系统ssh远程连接检查脚本  ECSLinux系统授权mysql外网访问  ECSLinux服务器nginx禁止空主机头配置  ECSLinux服务器通过FTP无法查看到.htaccess文件  ECSLinux服务器下Mysql自动备份脚本的使用方法  ECS-linux授权mysql外网访问  用date命令修改Linux系统的时间为什么无效  运维分享--阿里云linux系统web日志分析脚本  ECSLinux服务器messagebus默认关闭导致安装桌面环境后无法正常使用  ECSNginx+php中php-fpm参数配置  运维分享--阿里云linux系统mysql连接检查脚本  iptables的conntrack表满了导致访问网站很慢  运维分享--阿里云linux系统带宽监测脚本  如何调整目录文件的拥有者和拥有组  yum操作报错处理  ECSLinux配置vsftpd限制FTP账户访问其它目录  vsftp报错:500OOPS:vsftpd:cannotlocateuserspecifiedin'ftp_username':ftp  Linux主机系统目录误操作权限修改为777修复方法  ECSNginx中https的配置说明  运维分享--阿里云linux系统负载状态检查脚本  ECSLinux服务器AMH云主机面板启动、关闭操作  ECSLinux服务器关闭磁盘自检  ECSLinux配置key认证登录后因为相关文件权限错误导致连接失败-Connectionclosedbyforeignhost  ECSLinux系统服务器解决ssh反向代理监听ip错误问题  ECSLinux设置定时任务crontab  ECSGentoo系统中mirrorselect获取内容失败提示Nameorservicenotknown  ECSLinux系统服务器ping域名返回Unknownhost报错  IIS、Nginx或Apache访问日志存在182.92.12.0/24段访问记录  Nginx日志的解释  ECSLinux系统wget下载文件  ECSLinux服务器内部无法解析域名  ECS路由表错误导致无法ping通  ECSLinux主机修改主机名  wordpress插件oss4wpurl无法访问  ECSLinux查看隐藏文件  Linux系统服务器解决vsftp服务使用root登录失败  ECSLinuxPPTP客户端登陆后获取地址错误  Linux系统服务器解决内外双网卡均显示内网IP地址问题  ECSLinux系统NetworkManager导致网络异常  外部PingECSLinux丢包严重  ECSLinux检查Nginx配置文件  ECSLinux系统判断当前运行的Apache所使用的配置文件  Apache访问日志的说明  ECSLinux.htacess文件上传无法显示  linux服务器内无法访问其他站点的检查处理方法  ECSmysql无法启动报错Can'tcreate/writetofile'/tmp/ibfguTtC  ECSLiunx系统服务器执行ls查询命令提示bash:ls:commandnotfound  Linux为何执行命令会执行历史命令  ECSLinux系统如何检查系统上一次重启的时间  ECSLinux下MySQL排查基本步骤  Linux系统如何查看mysql版本号  MySQL中查看慢SQL的日志文件方法  phpMyAdmin修改配置可以上传大文件  openSUSE下开机自动运行脚本命令的方法  给Linux系统添加一个回收站  ECSLinux分区异常无法挂载  ECSLinux上安装Cloudfs启动失败提示找不到库文件libunwind.so.8  ECSLinux清理/tmp目录下的文件原理  Liunx系统服务器通过prefork模块限制apache进程数量  ECSCentOS6.5系统下Apache配置https服务  Noinputfilespecified的解决方法  Apache、Nginx支持跨域访问  Apache环境下配置404错误页方法  ECSLinux通过修改Apache配置301重定向的方法  ECSLinux主机无法互访处理  ECSlinux服务器启用了TRACEMethod.怎么关闭  Apache运行参考的调整优化  ECSApache如何关闭目录访问  ECS服务器隐藏apache版本信息  ECSLinux判断HTTP端口监听状态的方法  ECSLinuxApache限制客户端访问网站的速度  负载均衡+ECS站点虚拟子目录的设置案例  ECS网站访问504错误分析  为何Ubuntu开启UFW后,VPC下的SNAT转发就失效了  ECSDebian自定义镜像启动无法SSH  ECSLinux云服务器如何确认文件系统只读?  ECSLinux创建文件报错Read-onlyfilesystem  恢复ext4文件系统中使用rm命令误删除的文件  ECSLinux删除乱码文件的方法  net.ipv4.tcp_fin_timeout修改导致的TCP链接异常排查  ECSLinux执行sh脚本提示Nosuchfileordirectory  /var/log/message日志报错  通过sshtunnel连接内网ECS和RDS  CentOS7中MySQL服务启动失败的解决思路  ECSLinux系统启动提示“Giverootpasswordformaintenance”  结束云盾客户端进程后如何启用  Ubuntu服务器中配置AWStats  CentOS6非root用户使用sftp服务  ssh避免客户端长久未操作导致连接中断  删除binglog导致mysql无法启动  ECSLinux服务器修改SSH端口号不生效的检查方法  ftp传输失败问题解决方法  ECSLinux下使用extundelete恢复被误删的文件  ECSLinux基于nginx环境通过.htaccess配置rewrite伪静态示例  ECSLinux系统利用openssl生成强密码  ECSCentOS6配置PPTPVPN  Last命令关于reboot记录的含义  Ubuntu修改运行级别的总结  ECSCentOS6系统PPTPVPN脚本  ECSLinux系统如何配置gentoo的源  ECSCentOS系统配置VPN客户端  多域名跳转——不同域名指向不同子目录  Centos配置PPTPVPN后无法打开网页  mysql不能远程连接  ECSLinux系统修改文件或目录权限方法  ECSWDCP破解mysql以及wdcp后台管理密码  ECSLinux系统如何设置SSH白名单  EcsLinux系统一键安装web环境下tomcat添加站点方法  Centos7安装vnc  Setuptools软件包版本太老导致ECSLinux安装AliyunCLI出错  Apache配置二级域名  ECSlinux重启丢失分区表  Linux系统服务器安装使用sar工具获取系统运行状态方式  ECSUbuntu开启sftp连接  linux系统mysql跳过密码登陆操作登陆设置  mysql报错LostconnectiontoMySQLserverat'readinginitialcommunicationpacket'  Ubuntuapt-get安装提errorprocessingpackageinstall-info(--configure)  Nodejs的版本升级和使用  Nodejs连接RDSMySQL数据库  ECS公共镜像Ubuntu,Centos的内核版本查看方法  ECSLinux服务器修改时区  Apache禁止未经许可的域名访问ECS上的网站  ECSLinux如何隐藏文件和文件夹  ECSmysql.sock丢失问题解决方法  ECSLinux云服务器centos将系统时区从UTC时间改为CST  ECSLinux云服务器权限问题说明  ECSLinux系统盘数据转移方法  Linux下忘记mysql的root密码  ECSMySQL编译安装支持innodb引擎  ECSLinuxNAT哈希表满导致服务器丢包  ECSLinux服务器重启后mount出错的解决方法  Centos6.5添加IPv6支持  ECSubuntu系统修改DNS/etc/resolv.conf无法保存  ECSLinux如何增加虚拟内存swap  ECSLinuxtraceroute使用方法  ECSLinux系统磁盘再次挂载报错没有有效的分区表  如何删除yum的缓存信息  ECSLinux服务器yum的查询功能  centos6怎么使用RPMForge软件源仓库  ECSLinux服务器Nginxrewrite示例  ECSLinuxCentOS6ssh连上就断掉并报错“fatal:mm_request_send:write:Brokenpipe”  mysql上传报错#1064-YouhaveanerrorinyourSQLsyntax  EcsLinux中rpm安装文件命令常用选项  ECSLinux系统kjournald进程占用io资源高的解决方法  ECSLinux如果通过i节点删除无法删除的文件  ECSLinux基于zabbix搭建企业级监控平台  ECSLinux系统yum卸载重装  ECSCentOS6.5OpenVPN配置  ECSLinux使用SFTP登陆时报错:Receivedunexpectedend-of-filefromSFTPserver  ECSLinux如何增加数据盘iNode数量  ECSLinux查看目录没有颜色  ECSLinux系统tmp目录的安全设置  ECSLinux下shm设备的安全设定  ECSCentOS多线程下载工具Axel使用说明  ECSLinuxcurl使用证书访问HTTPS站点  Linux系统中vsftp用户无法登陆的相关说明  Nginx配置文件中rewrite指令标志位的说明与使用  ECSLinux中ss命令显示连接状态的使用说明  ECSLinux系统没有程序运行通过top观察发现cpu很空闲  Linux下的文件权限检查和修改  ECSLinux云服务器利用chatter命令锁定系统重要文件  ECSCentos7安装OpenVPN  ECS上搭建反向代理通过内网访问OSS服务  ECSLinux下的script命令记录用户操作行为  Ubuntu下使用slay命令结束某个用户的所有进程  Nginx配置文件中root与alias指令的区别  Nginx配置文件中rewrite指令的使用  ECSLinux如何修改PATH变量  Centos安装桌面后在远程终端管理里面无法使用键盘和鼠标  ECSLinux下Apache忽略网站URL的大小写的方法  ECSLinux服务器利用Nethogs监控每个进程的网络使用情况  ECSapt-get安装软件或更新时提示apt-get的Segmentationfaultsts  ubuntu开机出现memtest86,重启也无法取消的原因  Linux下History命令显示操作时间,用户和登录IP  ECSLinux服务器使用htop监控负载 “答案来源于网络,供您参考” 希望以上信息可以帮到您!
牧明 2019-12-02 02:16:20 0 浏览量 回答数 0

问题

如何快速排查无法打开 ECS 实例上运行的网站

注意:无法打开网站时,应该先搜索排查报错提示的含义,再排查 80 端口状态和排查 Web 服务状态。本文提供快速排查建议,更详细的排查过程请参考文档 无法访问 ECS 上的网站。 ...
boxti 2019-12-01 21:47:54 1651 浏览量 回答数 0

问题

快速排查无法打开 ECS 实例上运行的网站

注意:无法打开网站时,应该先搜索排查报错提示的含义,再排查 80 端口状态和排查 Web 服务状态。本文提供快速排查建议,更详细的排查过程请参考文档无法访问 ECS 上的网站。 ...
李沃晟 2019-12-01 21:21:30 1217 浏览量 回答数 1

问题

Springboot vue.js html 跨域 前后分离 shiro权限 websocket即时

后台框架:springboot 2.1.2+ activiti6.0.0+ mybaits+maven+接口 前端页面:html +vue.js 形式 jquery aj...
游客ydre72cd7ywew 2019-12-01 20:00:40 16 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT