目录

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

上面的介绍有点绕,我是这么简单粗暴地理解的:JMX之于JVM或JAVA,相当于SNMP之于OS。只是JMX比SNMP更强大,除了监控外,还可以通过JMX对JAVA程序进行管理,如更改一些配置等。

Zabbix已经集成JMX,可以用Zabbix通过JMX监控JVM,TOMCAT,Weblogic,Jboss等。要使用Zabbix监控Weblogic,我们先要了解Zabbix的JMX监控架构,Weblogic的JMX信息,最后才能去实现怎么去配置监控和报警。

阅读全文

zabbix的内置key及自定义key

以前使用nagios比较多,zabbix用得相对少一些。 发现zabbix对比nagios+cacti还是有些区别的:

    1. zabbix的监控结果和数据全是存在数据库内,cacti是用一种rrd的文件DB。
  • 2.zabbix有触发器,写监控脚本时只要把数据抓过来就行了,然后再去zabbix内配置触发器,做不同的报警。而nagios一般是直接写在脚本内了。

  • 3.其它…以后再补充

zabbix的内置了很多key,如:

  • 1、监控进程
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “net.tcp.service[http]”
  • 2、监控端口
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “net.tcp.port[,80]”

结果:1存在,0不存在;

  • 3、进程数量
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “proc.num[]”
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “proc.num[httpd]”
  • 4、执行命令
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “system.run[curl -s  "http://127.0.0.1/php-fpm-uuzu-status"  | grep 'idle processes' | awk '{print $3;}']”
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “system.run[ps auxw | grep 'httpd' | grep -v 'grep' -c]”

阅读全文

mac osx虽然是类unix的系统,默认也是bash shell,但是修改mac地址及管理路由表跟linux还是不一样。

修改mac地址,重启后失效

sudo ifconfig en0 lladdr d0:67:e5:2e:07:f1

修改路由表

sudo route delete 0.0.0.0  删除默认路由
sudo route add -net 0.0.0.0 192.168.1.1 默认使用192.168.1.1网关
sudo route add 10.0.1.0/24 10.200.22.254 其它网段指定网关

查看路由表(命令使用与linux不一样)

netstat -nr

阅读全文

总体来说相当于一个普通硬盘。每个项目都测了两次,可以看到有些项目波动很大。

目前这个性能做数据库的磁盘可能有问题,那就只能是多台DB了。不知道如果有4块数据盘做Raid0后IO会不会有提升,理论上应该是有,目前我是申请试用机器测试的,没条件测试多个磁盘做raid的性能。

测试图如下: aliyun_iops_write2

aliyun_iops_write

[

阅读全文

AWS EC2上ftp的配置

AWS EC2上配置ftp服务器有它特殊的地方:

    1. 理论上来说,EC2的机器是在内网,机器上只有内网IP.外网IP是映射到内网IP上的。
    1. 有安全组,相当于带了一个防火墙。

一般的vsftpd配置文件是下面这样的:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

use_localtime=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_min_port=2000
pasv_max_port=3000

阅读全文

使用nginx做反向代理,当后端服务器需要认证时,需要把认证的http header也传到后端服务器上去,配置为:

proxy_set_header Authorization $http_authorization;

这样配置后,服务器会发出一个认证窗口出来,提示用户输入用户名密码。

如果不想让用户输入用户名密码,可用下面的配置:

proxy_hide_header WWW-Authenticate; //隐藏发给用户的认证http header,相当于不提示用户输用户名密码了。
proxy_set_header Authorization "Basic dXNlcjpwYXNzd29yZA==";  //发送httpd 认证 header给后端服务器。

dXNlcjpwYXNzd29yZA==base64(user:pass)得到的。

解释一下上面两个http header:

WWW-Authenticate: 这是GET的时候带的,服务器发给客户端的。表明客户端请求实体应该使用的授权方案

示例:WWW-Authenticate: Basic

Basic是基本的http认证方式,除此之外还有NTLM等,NTLM是微软的,nginx目前不支持。

Authorization 这个是用户输入用户名和密码后,POST到服务器的时候带的。HTTP授权的授权证书

示例:Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

阅读全文

作者的图片

阿辉

容器技术及容器集群等分布式系统研究

容器平台负责人

上海