这篇文章会先讲一些上次没解决的坑。正所谓探索过程中没去搞懂的坑以后还会再来困扰你的。
VirtualBox 网络配置问题
通常 VirtualBox 采用的是 NAT(网络地址转换) 的连接方式。在配置里可以看见虚拟网卡的 MAC 地址。
进入虚拟机之后输入 ifconfig,也会显示你的网卡的 MAC 地址,请在对应的网卡上操作。
ifconfig enp0s3 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
ifconfig enp0s3 up
非 root 用户记得sudo
。
这种做法是临时的更改。永久的更改请参考 Linux 网卡配置 / IP 配置
但务必注意这里的路径是 CentOS 的路径,Ubuntu 的不一样。Ubuntu 似乎就在 /etc/network/interfaces
一个文件里全都写了,而非一张网卡一个文件。 Ubuntu 网卡配置
注意这个的配置可不要出错,否则可能会在重启的时候遭遇五分钟的网络尝试启动失败重试失败重试失败。。。
至今不知道如何跳过这个步骤,若有了解的小伙伴求告知。
然后还有 DNS 的设置。手动配置请选用 DNS各地延迟排行榜。
配置的时候很多教程会提示你去修改 /etc/resolv.conf
文件。可是里面写着呢:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
懂了不?跟上面 ifconig 配置一样,重启就没了。永久性做法是去配置/etc/resolvconf/resolv.conf.d
。
至少在我用的 Ubuntu Server 16.04 LTS 里面是这样。
linux 各个操作系统之间的差别还是要重视,比如 ubuntu 的 /etc/init.d/networking restart
和 CentOS 的 service network restart
,还有上面的网卡配置。
心累 【_(:з」∠)_ 对 Linux 操作系统的常用的一些配置哲学不清楚,盲目模仿,就很可能出事被坑。
在虚拟机里这么做之后,建议去 VirtualBox 的日志看一下是否已经连到了地址转换后的 IP 。
如果看着是这样就对了:
这个坑最开始是在创建 python 虚拟环境的时候发现它报了个错:
unsupported operand type(s) for -=: 'Retry' and 'int'
开始还很傻的认为是 python 安装的问题,后来到重新安装 python 发现 apt-get 也连不上了,才意识到这个错误不就是本来该返回一个值,结果网络连接不正常报了个 Retry 嘛。由此可见写这个 open-falcon 的程序员也有锅。
安装告警组件
关于安装一般组件的方法请参考我的上一篇文章
open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
告警组件中需要更改的 cfg.json
配置项多一些,主要在于微服务之间连接的内网网址需要把其默认的11.11.11.11 ip 改成自己的。(对我而言,还有上次留下来的数据库需要输密码的坑。)
还有启动 portal 的时候,配置里的 fe 端口是 8080,但是 fe 的默认端口是 1234,这个忘了改的话,就会报这种玩意:
ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=8080): Max retries exceeded with url: /sso/user/a902f17dbb5511e6b83e08002776fa2e?token= (Caused by <class 'socket.error'>: [Errno 111] Connection refused)
也能看明白吧。这八成也是个上网找不知道怎么解决的错误,纯粹是端口配置出错,然后直接填到 url 里面了。还好他们在源码安装的部分指出来了。
至此,笔者已经安装了大部分的功能,还有 sms、mail、task、gateway、link、nodata、aggregator 等辅助组件木有安装。预计这方面不大会再出现未知坑了。
小结
open-falcon 据说其从功能上来说,提供了更加细粒度的服务器监控方案,并且完全开源。
不过现在程序的
坚固性还有待加强,至少新人安装的时候报错,启动的时候明明起来了缺失败,不要遇到那么多的暗坑不知道定位啊 qwq。
用户的体验也是。打开来之后完全是空的界面,需要手动输入搜索条件才能逐渐看到数据,像极了本科时的大作业演示。
目前 segmentfault 里面似乎也找不到这套工具的相关,果然是很新,不完善,了解的人太少了么。
下面笔者会开始真正尝试它的功能。