前言
探针有很多,几乎每一个主流语言都有自己的探针,不过我想探针应用最多的估计也只能是雅黑探针了。所以就要献上今天的嘉宾了 —— netdata,不过人家可不只是一个花瓶哟,它的功能比雅黑探针厉害不到不知道哪里去了~
介绍
netdata 是一个分布式实时性能和健康监控系统。netdata 可以实时监控的操作系统和应用程序(如 Web服务器软件 和 数据库服务器软件),并通过现代化的 Web 界面表现出来。netdata 非常的快速和高效,其可以在 物理或虚拟服务器、容器、IoT设备上持续运行。
目前 netdata 可以运行在:Linux 发行版、FreeBSD 和 MacOS 上。
赏析
特性
- 移动友好:在 PC 和 触碰设备下均可友好使用,目前提供 Light 和 Dark 两款主题
- 快速响应:即便是在低端硬件上,每个指标的查询速度依旧可以超过 0.5ms
- 高效迅速:单核心 CPU 利用率仅为 1%,个位数的内存占用以及几乎不产生磁盘读写
- 零配置:开箱即用的体验
- 零依赖:无需依赖任何执行语言和 Web 服务器软件
- 零维护:只要运行后无需任何操作
- 可扩展:提供丰富的插件(可以使用许多方式来制作它的插件,从bash到node.js),你可以检测任何可以衡量的数据。
- 可嵌入:即便是在物联网设备上,依旧可以检测数据
安装
目前一键安装支持的系统有:Alpine、Gentoo、ArchLinux、Ubuntu、Debian、RHEL、CentOS、Fedora、Suse、OpenSuse、SLE12。
由于其不依赖任何组件,所以任何一键包、面板都可以直接安装,不用考虑兼容问题。
基本监控
curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata
完全监控
curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all
自行编译
其他不能一键安装的系统例如 FreeBSD、MacOS 需要手动编译,教程:https://github.com/firehol/netdata/wiki/Installation
------------------------------------------------------------------------------- Downloading default configuration from netdata... New configuration saved for you to edit at /etc/netdata/netdata.conf --- Check KSM (kernel memory deduper) --- Memory de-duplication instructions You have kernel memory de-duper (called Kernel Same-page Merging, or KSM) available, but it is not currently enabled. To enable it run: echo 1 >/sys/kernel/mm/ksm/run echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs If you enable it, you will save 40-60% of netdata memory. --- Check version.txt --- --- Check apps.plugin --- --- Generate netdata-uninstaller.sh --- --- Basic netdata instructions --- netdata by default listens on all IPs on port 19999, so you can access it with: http://this.machine.ip:19999/ To stop netdata, just kill it, with: killall netdata To start it, just run it: /usr/sbin/netdata Uninstall script generated: ./netdata-uninstaller.sh Update script generated : ./netdata-updater.sh netdata-updater.sh can work from cron. It will trigger an email from cron only if it fails (it does not print anything when it can update netdata). Run this to automatically check and install netdata updates once per day: ln -s /tmp/netdata/netdata-updater.sh /etc/cron.daily/netdata-updater.sh --- We are done! --- ^ |.-. .-. .-. .-. .-. . netdata .-. .- | '-' '-' '-' '-' '-' is installed and running now! -' '-' +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+---> enjoy real-time performance and health monitoring...
查看
安装完后,进入 http://127.0.0.1:19999/ 就可以访问精美的 netdata 探针了~
当然我们还可以通过 Nginx 反代一下,实现绑定虚拟主机和设置 HTTPS 等等
在虚拟主机的 server{} 块下添加如下代码即可完成反代。
location / { proxy_pass http://127.0.0.1:19999; }
文章评论