前面两周一直在跟icinga2进行较劲,花了2天看了下文档,并进行测试。 国内看到的文章其实都是一个单机版本的安装,没有涉及到远程客户端的。而实际测试发现这步还是比较复杂的。 首先需要是在服务器端生成客户端的唯一码
1
| icinga2 pki ticket --cn ebs-aaa-beijing-test-agent
|
然后client再根据server产生的这个码进行认证
1 2 3 4 5
| mkdir /etc/icinga2/pki && chown -R icinga.icinga /etc/icinga2/pki icinga2 pki new-cert --cn ebs-aaa-beijing-test-agent --key /etc/icinga2/pki/ebs-aaa-beijing-test-agent.key --cert /etc/icinga2/pki/ebs-aaa-beijing-test-agent.crt icinga2 pki save-cert --key /etc/icinga2/pki/ebs-aaa-beijing-test-agent.key --cert /etc/icinga2/pki/ebs-aaa-beijing-test-agent.crt --trustedcert /etc/icinga2/pki/trusted-master.crt --host ebs-aaa-beijing-monitor icinga2 pki request --host ebs-aaa-beijing-monitor --port 5665 --ticket 13aa0b00b14ed45890984827ebfff0747a55449a --key /etc/icinga2/pki/ebs-aaa-beijing-test-agent.key --cert /etc/icinga2/pki/ebs-aaa-beijing-test-agent.crt --trustedcert /etc/icinga2/pki/trusted-master.crt --ca /etc/icinga2/pki/ca.crt icinga2 node setup --ticket 13aa0b00b14ed45890984827ebfff0747a55449a --endpoint ebs-aaa-beijing-monitor,ebs-aaa-beijing-monitor,5665 --zone ebs-aaa-beijing-test-agent --master_host ebs-aaa-beijing-monitor --trustedcert /etc/icinga2/pki/trusted-master.crt --accept-config --accept-commands
|
而要用好icinga2,那就首先要理解,host, node, endpoint, zones, repository 这几个定义的区别。 但是个人感觉这些优点复杂了。 测试下来最有用的部分是对于hostgroups和servicegroups在icinga2里自定义就太方便了。这个可比nagios大大进步了,nagios里还得跟傻逼一样一个个写,虽然可以写脚本搞定,但是还是感觉很傻。
1
| object HostGroup "mysql-server" { display_name = "MySQL Server" assign where match("*mysql*", host.name) && match("db-*", host.vars.prod_mysql_db) ignore where host.vars.test_server == true ignore where match("*internal", host.name) }
|