speedometer 安装使用

speedometer 需要 urwid 模块的支持,安装:
# cd /usr/local/src
# wget -q http://excess.org/urwid/urwid-1.0.1.tar.gz
# tar -zxvvf urwid-1.0.1.tar.gz
# cd urwid-1.0.1
# python setup.py install

running install
running build
running build_py
running build_ext
building 'urwid.str_util' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fPIC -I/usr/include/python2.4 -c source/str_util.c -o build/temp.linux-x86_64-2.4/source/str_util.o
source/str_util.c:25:20: error: Python.h: No such file or directory
source/str_util.c:88: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
source/str_util.c:100: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
source/str_util.c:121: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token

Continue reading

Ubuntu 在 DELL 12G(R420/R620/R720) 上的问题

DELL 12G(R420/R620/R720) 的服务器在安装 Ubuntu 的时候会出现诸多的问题,原先的 10.04.x LTS 版本已经不支持了,现在非官方还支持的有 12.04,不过依然有不少问题。根据这个帖子的描述,。
BIOS 会显示如下的 error log:
Critical CPU1 Status: Processor sensor for CPU1, IERR was asserted
Critical PCIE Fatal Err: Critical Event sensor, bus fatal error [Bus 1 Device 0 Function 0] was asserted

在 DELL 的官方博客上,我们也看到了其说明,DELL 12G 并不支持 Ubuntu 发型版本,但是其 12.04 LTS 及以后的版本可以通过修改一些东西来 workaround。

BIOS 中将 power management 设置为 maximum performance,禁用掉 C-State。

下面的就全是 ubuntu 这二货的 bug 了,难怪到现在 12G 的服务器也没出现在他的 certification 列表上。

给 sb_edac 以及 i7core_edac(3.2.0-28.44 修复) 打上 patch 或者加入 blacklist:

另外 acpi_pad(3.2.0-28.44 修复) 以及 mei(3.2.0-31.50 修复) 模块也要加到 blacklist 中,前者是电源节能的 driver,还在开发中,对于服务器来说也没有必要;后者在 watchdog timer 上会 。

# cat /etc/modprobe.d/blacklist-dell.conf
blacklist acpi_pad
blacklist mei
blacklist sb_edac
blacklist i7core_edac

这里有篇《Doing battle with a Dell R620 and Ubuntu》供欣赏 ;-)

除了 10.04.x 外,debian-6.0.6 以及 CentOS-6.3 等都会出现一些问题,包括安装过程中找不到网卡(BCM5720)驱动,找不到 RAID 的驱动等问题。换成 Intel 的 I350 的网卡之后,可以找到网卡驱。
总之,Ubuntu 既然想做 server 版本,就要把他给做好,最重要的就是跟主流的硬件厂商(Dell, Hp)的支持程度,要么你就直接在网站上挂个『for test only』牌子让大家知道你做 server 只是玩玩?
另外一件搞笑的事,12.04 的 kernel 已经不区分 server 跟 generic 了,官方的理由是『便于维护』。默认的 I/O 调度也变成了 cfq,这需要人肉改回 deadline;preemption model,tickless 等都会改变。好在这些影响对机器的性能应该不会太大。

这里有一篇关于 12.04 的不完全测评,可以参考下。在不大可能换硬件的情况下,或者说即使换了硬件,二者的支持如果不和谐的话,我们只能换发型版本

ref:
http://en.community.dell.com/techcenter/b/techcenter/archive/2012/08/27/ubuntu-on-dell-12g-poweredge-servers.aspx
http://en.community.dell.com/techcenter/b/techcenter/archive/2012/09/14/follow-up-ubuntu-on-dell-12g-poweredge-servers.aspx

Nagios 监控 MongoDB

插件 github 上有现成的:
$ wget -c  https://github.com/mzupan/nagios-plugin-mongodb/zipball/master
$ unzip master -d nagios_plugin_mongodb
$ rm master
$ sudo apt-get install python-dev python-setuptools -y
$ sudo easy_install pymongo
$ cd nagios_plugin_mongodb/mzupan-nagios-plugin-mongodb-59a9247
$ cp check_mongodb.py $NAGIOSROOTPATH/libexec
$ $NAGIOSROOTPATH/libexec/check_mongodb.py -H 192.168.10.42 -P 27017 -A connect -W 1 -C 3

ref:
http://zcentric.com/2010/06/18/mongodb-nagios-plugin-created/

github 是家有良心的互联网公司

注:这篇博客写在 12 年的 12 月,但是到 13 年的 2 月才发表 -.-


国外(大陆几乎没看到过)有不少公司会有 status.xx.oo 的页面,随时让客户了解当前网站的情况。不过很少会像 github 那样把每次出现的 outage 总结对外公布的,从这个角度来说,github 是个比较有『良心』的公司。虽然他们的 https://status.github.com/ 页面经常冒出黄色的甚至红色的报警,虽然他们上个月的 App Server Availability 只有 99.4643%。
上个月他们家出现了有史以来最严重的 outage,其前奏可以看这里,后续的总结可以看这里。两片总结的非常到位,造成问题的原因简单的总结就是:
1. 网络设备本身有 bug
2. HA 在关键时刻并不能 HA

除了 github 之外,CloudFlare 做的也很不错,比如下面的这几篇博客:

尽管 CloudFlare 包括诸如 EvernoteDropbox 没有 outage 这个 tag,但是其发布的任何一篇博客都足以完爆大陆的那些点点点公司了。

 

替代 logstash 默认 web 的 Kibana

Kibana 是跟 logstash 配套的一个 web 前端,比 logstash 默认的 9292 端口提供的 web 更为强大。

使用的前提是 logstash 已经能运行,配置很简单,按照官网提供的做就可以了:

1. 在 KibanaConfig.rb 修改 ES 的地址、端口
2. 安装 bundler 来解决依赖问题:
# apt-get install libcurl4-openssl-dev
# curl -L https://get.rvm.io | bash -s stable --ruby
# gem install bundler
# bundle install

除了上面这些,还可以修改 Kibana port、host 等,包括每页的条数等,都可以在 KibanaConfig.rb 中找到。
这里是 Kibana 的 infrastructure,可以参考下。另外,对于 ES 来说,也有一个第三方的前端可以用来监控查询,叫 elasticsearch-head,应该能满足基本的要求。

Ubuntu 修改时区

直接运行进去修改:
$ sudo dpkg-reconfigure tzdata

或者直接将需要的时区写进 timezone 文件,准确的时区去 /usr/share/zoneinfo/ 目录下找:
$ echo "Asia/Shanghai" | sudo tee /etc/timezone
$ sudo dpkg-reconfigure --frontend noninteractive tzdata

或者做软链接:
$ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime