用SSH登录远程主机,每次都输入密码挺麻烦的,其实可以用密钥文件来登录:
1. 用ssh-keygen命令生成private/public密钥对,提示问题都用默认回答即可。
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/guoyong/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/guoyong/.ssh/id_rsa.
Your public key has been saved in /home/guoyong/.ssh/id_rsa.pub.
2. 用ssh-copy-id命令把公钥复制到远程主机上,user就是你登录用的用户名
$ ssh-cody-id user@remotehost
3. 验证一下吧
$ ssh user@remotehost echo "it works"
nrpe使用一例
NRPE的作用是在远程主机上运行Nagios插件,以便监控远程主机。
Ubuntu Server下安装NRPE很方便:
$ sudo apt-get install nagios-nrpe-server nagios-plugins
默认的几个检查命令(check_users, check_load等)都已经在/etc/naigos/nrpe.cfg和/etc/nagios/nrpe_local.cfg配置好了。在Nagios里配置监控服务使用类似如下的监控命令就可以了:
check_command check_nrpe!check_load
如果需要自定义监控命令,只需在/etc/nagios/nrpe_local.cfg里设置,重启NRPE服务,再在Nagios里配置监控服务即可。比如,要添加一个监控TCP各种状态的命令,步骤如下:
@remotehost
$ cd /usr/lib/nagios/plugins
$ sudo wget http://www.tuschy.com/nagios/plugins/check_tcp_count
$ sudo chmod +x check_tcp_count
$ cd /etc/nagios
$ sudo vi nrpe_local.cfg
command[check_tcp_count]=/usr/lib/nagios/plugins/check_tcp_count
$ sudo service nagios-nrpe-server restart
@nagioshost
$ sudo vi remotehost.cfg
define service{
use generic-service
host_name remotehostname
service_description Tcp count
check_command check_nrpe!check_tcp_count
}
使用Cacti监控JVM
Cacti官方论坛里有几个监控JVM的模板:
导入到Cacti后,需要启用JVM的SNMP Agent,方法如下:
1. 启动JVM的参数里加入-Dcom.sun.management.snmp.port=9998 这个是指定SNMP Agent的监听端口。
2. 设置访问权限
$ sudo cp $JRE_HOME/lib/management/snmp.acl.template $JRE_HOME/lib/management/snmp.acl
$ sudo vi $JRE_HOME/lib/management/snmp.acl
acl = {
{
communities = public, private
access = read-only
managers = localhost
}
}
trap = {
{
trap-community = public
hosts = localhost
}
}
3. 设置配置文件的权限,必须只能为启用JVM的用户只读,否则不能工作。(management.properties不用修改,使用默认配置即可)
$ sudo chmod 600 management.properties snmp.acl
$ sudo chown jetty management.properties snmp.acl
4. 重启JVM,用netstat命令检查9998端口是否已被监听或用snmpwalk命令检查。
$ sudo netstat -tlunp |grep 9998
$ snmpwalk -v 2c -c public localhost:9998 .1.3.6.1.4.1.42
5. 为了让远程的Cacti主机可以访问,可使用snmpd的proxy功能将请求转发到localhost的JVM SNMP Agent上。修改snmpd的配置文件,添加
proxy -v 2c -c public localhost:9998 .1.3.6.1.4.1.42
然后重启snmpd服务。在Cacti主机上以snmpwalk命令检查,应该能得到与上一步中snmpwalk命令一样的输出。snmpwalk -v 2c -c public remotehost .1.3.6.1.4.1.42
6. 至此,可以在Cacti里为JVM主机添加监控图表了,注意Device的SNMP Options配置里SNMP Version要选择Version 2。
参考:
登录窗口有多个Xfce会话供选择,怎么回事?
登录窗口里选择会话的地方,一直有两个Xfce Session,登录后似乎略有不同。其实是在/usr/share/xsessions目录有一个符号链接default.desktop指向了xfce.desktop,删掉它后就可以了,也不影响什么。
找回消失的Notification Area(Xubuntu)
美化桌面的时候会遇到通知区域(Notification Area)Applet不见了的情况,试图再加一个到面板上也会报类似“通知区域已经存在”的错误。
解决办法是检查~/.config/xfce4/panel目录下有没有名字以systray开头的文件,删掉这些文件。
rm ~/.config/xfce4/panel/systray*
再编辑~/.config/xfce4/panel/panels.xml这个文件,如果有一行包含systray的,也删掉。
再次登入后,重新添加通知区域到面板就可以了。