首页 文章 精选 留言 我的

精选列表

搜索[安全监控],共10000篇文章
优秀的个人博客,低调大师

用supervisorctl 监控java进程日记

安装supervisorctl依赖 38 yum install readline readline-devel readline-static -y 39 yum install openssl openssl-devel openssl-static -y 40 yum install sqlite-devel -y 41 yum install bzip2-devel bzip2-libs -y [root@jiaxin-ceshi nginx-1.14.0]# yum -y install supervisor [root@jiaxin-ceshi nginx-1.14.0]# supervisorctl unix:///var/run/supervisor/supervisor.sock no such file supervisor> 启动supervisorctl [root@jiaxin-ceshi nginx-1.14.0]# yum install python-setuptools [root@jiaxin-ceshi nginx-1.14.0]# easy_install supervisor [root@jiaxin-ceshi nginx-1.14.0]# yum install python-setuptools [root@jiaxin-ceshi nginx-1.14.0]# mkdir /etc/supervisor [root@jiaxin-ceshi nginx-1.14.0]# echo_supervisord_conf > /etc/supervisor/supervisord.conf 启动 [root@jiaxin-ceshi nginx-1.14.0]# supervisord -c /etc/supervisor/supervisord.conf [root@jiaxin-ceshi nginx-1.14.0]# vim /etc/supervisor/supervisord.conf [program:eatjoys-prd-dobot] ;environment=PATH="/opt/py3/bin:%(ENV_PATH)s" directory=/work/product/eatjoys-prd-dobot command=java -Xmn256m -Xms384m -Xmx512m -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.ext.dirs=./lib com.yutuoit.framework.start.StartWebApp -console -app=eatjoys-prd-dobot autostart=true autorestart=true stdout_logfile=/work/var/logs/eatjoys-prd-dobot.log stderr_logfile=/work/var/logs/eatjoys-prd-dobot.error 创建对应目录 [root@jiaxin-ceshi nginx-1.14.0]# mkdir -p /work/var/logs [root@jiaxin-ceshi nginx-1.14.0]# mkdir /work/product/ [root@jiaxin-ceshi nginx-1.14.0]# cd /work/product/ 拉取代码从gitlab上面 [root@jiaxin-ceshi product]# yum -y install git [root@jiaxin-ceshi product]# git clone git@192.168.19.18:eatjoys-java/eatjoys-prd-dobot.git [root@jiaxin-ceshi nginx-1.14.0]# supervisorctl supervisor> help default commands (type help <topic>): ===================================== add exit open reload restart start tail avail fg pid remove shutdown status update clear maintail quit reread signal stop version 记得打包好我直接从开发服务器上拉取代码[program:eatjoys-prd-micro];environment=PATH="/opt/py3/bin:%(ENV_PATH)s"directory=/work/product/eatjoys-prd-microcommand=java -Xmn256m -Xms384m -Xmx512m -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.ext.dirs=./lib com.yutuoit.framework.start.StartWebApp -console -app=eatjoys-prd-microautostart=trueautorestart=truestdout_logfile=/work/var/logs/eatjoys-prd-micro.logstderr_logfile=/work/var/logs/eatjoys-prd-micro.error添加 [root@jiaxin-ceshi work]# vim /etc/supervisor/supervisord.conf [program:eatjoys-biz-micro] ;environment=PATH="/opt/py3/bin:%(ENV_PATH)s" directory=/work/service/eatjoys-biz-micro command=java -Xmn256m -Xms384m -Xmx512m -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.ext.dirs=./lib com.yutuoit.framework.start.StartService -console -app=eatjoys-biz-micro autostart=true autorestart=true stdout_logfile=/work/var/logs/eatjoys-biz-micro.log stderr_logfile=/work/var/logs/eatjoys-biz-micro.log [root@jiaxin-ceshi work]# supervisorctl 安装jdkeatjoys-prd-dobot FATAL can't find command 'java'supervisor> rereadeatjoys-biz-micro: availableeatjoys-prd-dobot: disappearedeatjoys-prd-micro: availablesupervisor> update eatjoys-biz-microeatjoys-biz-micro: added process groupsupervisor> update eatjoys-prd-microeatjoys-prd-micro: added process groupsupervisor> update eatjoys-prd-doboteatjoys-prd-dobot: stoppedeatjoys-prd-dobot: removed process groupsupervisor> statuseatjoys-biz-micro FATAL can't find command 'java'eatjoys-prd-micro FATAL can't find command 'java'supervisor> 安装jdkhttps://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html官网下载 [root@jiaxin-ceshi src]# cd /usr/local/src/ [root@jiaxin-ceshi src]# wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz?AuthParam=1540886052_792749b01264f3dd04765afaf48aa4cf 解压并设置环境变量[root@jiaxin-ceshi src]# vim /etc/profile ###############JDK1.8###################### JAVA_HOME=/usr/local/jdk1.8.0_172 JRE_HOME=/usr/local/jdk1.8.0_172/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH [root@jiaxin-ceshi src]# source /etc/profile [root@jiaxin-ceshi src]# java -version java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode) [root@jiaxin-ceshi src]# supervisorctl eatjoys-biz-micro FATAL can't find command 'java'eatjoys-prd-micro FATAL can't find command 'java'supervisor> restart alleatjoys-prd-micro: ERROR (no such file)eatjoys-biz-micro: ERROR (no such file)supervisor> [root@jiaxin-ceshi ~]# vim /etc/rc.local /usr/bin/supervisord -c /etc/supervisor/supervisord.conf [root@jiaxin-ceshi ~]# supervisorctl eatjoys-biz-micro RUNNING pid 1254, uptime 0:01:27 eatjoys-prd-micro FATAL Exited too quickly (process log may have details) supervisor>

优秀的个人博客,低调大师

Zabbix 监控docker运行的jumpserver

查看2222端口 [root@yunwei-ceshi ~]# lsof -i:2222 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME docker-pr 7179 root 4u IPv6 378945139 0t0 TCP *:EtherNet/IP-1 (LISTEN) 查看docker运行junpserver进程名称 [root@yunwei-ceshi ~]# ps -ef | grep docker root 7179 26590 0 08:04 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 2222 -container-ip 172.17.0.2 -container-port 2222 编辑zabbix配置文件 [root@yunwei-ceshi ~]# cd /usr/local/zabbix/etc/ [root@yunwei-ceshi etc]# ls zabbix_agentd.conf zabbix_agentd.conf.d [root@yunwei-ceshi etc]# vim zabbix_agentd.conf 找到 UserParameter= 添加: # UserParameter= UserParameter=jumpserver,sh /usr/local/zabbix/etc/process_sh/jumpserver.sh jumpserver//进程名称sh /usr/local/zabbix/etc/process_sh/jumpserver.sh//执行的脚本 然后进入脚本目录编辑脚本 [root@yunwei-ceshi etc]# mkdir /usr/local/zabbix/etc/process_sh/ [root@yunwei-ceshi etc]# cd /usr/local/zabbix/etc/process_sh/ [root@yunwei-ceshi process_sh]# vim jumpserver.sh #/bin/bash lsof -i:2222 | grep docker | wc -l 赋予权限 [root@yunwei-ceshi process_sh]# chmod 755 jumpserver.sh 重启zabbix_agentd [root@yunwei-ceshi process_sh]# /etc/init.d/zabbix_agentd restart

优秀的个人博客,低调大师

Percona监控MySQL数据库

配置zabbix-agent 安装percona插件 yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm yum -y install php php-mysql percona-zabbix-templates 拷贝配置文件并重启zabbix-agent cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf systemctl restart zabbix-agent 查看percona相关目录 rpm -ql percona-zabbix-templates /var/lib/zabbix/percona /var/lib/zabbix/percona/scripts /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh # 脚本调用PHP /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php # PHP采集数据 /var/lib/zabbix/percona/templates /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml # 模板文件,3.x导入会报错 导入修改过的模板文件 配置MySQL连接 配置php连接数据库 mysql> GRANT USAGE, PROCESS, REPLICATION CLIENT ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY "zabbix00"; vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf <?php $mysql_user = 'zabbix'; $mysql_pass = 'zabbix00'; 测试脚本 /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg 73 配置~zabbix/.my.cnf vim ~zabbix/.my.cnf [client] user=zabbix password='zabbix00' 测试脚本 sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave # 结果为1或0为正常

优秀的个人博客,低调大师

python监控服务器信息

本文转载自http://www.linuxtone.org/thread-29256-1-1.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 #coding:utf-8 #by_wangyi #by:QQ917611 #QQ群:251289157 import psutil import time import os import sys import re stats = [ 0 , 1 ] stoptimes = 2 if len (sys.argv)> 1 : interface = sys.argv[ 1 ] else : interface = 'eth0' class Monitor: def __init__( self ,user_uid,stoptime): self .user_uid = user_uid self .stoptime = stoptime if user_uid = = 0 : print "请使用root用户运行此脚本" exit() def meminfo( self ,used_vm,free_vm,buffers,cached): total = psutil.virtual_memory().total / 1024 / 1024 used = used_vm - (buffers + cached) free = total - used print "totalmem:%sM" % total print "usedmem:%sM" % used print "freemem:%sM" % free def diskinfo( self ): list = [] for i in psutil.disk_partitions(): list .append(i[ 1 ]) for k in range ( len ( list )): total = "%-15s分区\ttotal:%s" % ( list [k],psutil.disk_usage( list [k]).total / 1024 / 1024 / 1024 ) used = "used:%s" % (psutil.disk_usage( list [k]).used / 1024 / 1024 / 1024 ) free = "free:%s" % (psutil.disk_usage( list [k]).free / 1024 / 1024 / 1024 ) print "%sG\t%sG\t%sG" % (total,used,free) def cpuinfo( self ): with open ( '/proc/loadavg' )asf: loadavg = f.read() print "5分钟cpuload:%s" % (loadavg.split()[ 0 ]) print "10分钟cpuload:%s" % (loadavg.split()[ 1 ]) print "15分钟cpuload:%s" % (loadavg.split()[ 2 ]) print "当前运行proc:%s" % (loadavg.split()[ 3 ].split( '/' )[ 0 ]) print "最后运行pid:%s" % (loadavg.split()[ 4 ]) print '当前cpu%s' % (psutil.cpu_percent()) def flowinfo( self ): f = open ( '/proc/net/dev' , 'r' ).readlines() for i in f: if re.search(interface,i): rx = i.split( ':' )[ 1 ].split()[ 0 ] tx = i.split()[ 8 ] stats[ 0 ] = rx stats[ 1 ] = tx used_vm = psutil.virtual_memory().used / 1024 / 1024 free_vm = psutil.virtual_memory().free / 1024 / 1024 buffers = psutil.virtual_memory().buffers / 1024 / 1024 cached = psutil.virtual_memory().cached / 1024 / 1024 if __name__ = = '__main__' : user_uid = os.geteuid() stoptime = 2 task = Monitor(user_uid,stoptime) print "servermeminfo:\n" task.meminfo(used_vm,free_vm,buffers,cached) print "==================================" print "serverdiskinfo:\n" task.diskinfo() print "===================================" print "servercpuinfo:\n" task.cpuinfo() print "===================================" print "serverflowinfo:\n" task.flowinfo() RX_one = float (stats[ 0 ]) TX_one = float (stats[ 1 ]) time.sleep(stoptimes) task.flowinfo() RX_two = float (stats[ 0 ]) TX_two = float (stats[ 1 ]) RX_rate = round ( float (RX_two - RX_one) / 1024 , 2 ) TX_rate = round ( float (TX_two - TX_one) / 1024 , 2 ) print time.strftime( "%Y-%m-%d%H:%M:%S" ), 'RXbytes=' ,RX_rate, 'KB' print time.strftime( "%Y-%m-%d%H:%M:%S" ), 'TXbytes=' ,TX_rate, 'KB'

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册