在Mac上安装rrdtool问题

简介: 前天用安装rrdtool时遇到一个bug:

前天用安装rrdtool时遇到一个bug:

(process:16981): GLib-GObject-CRITICAL **: gtype.c:2720: You forgot to call g_type_init()
(process:16981): GLib-CRITICAL **: void g_once_init_leave(volatile void *, gsize): assertion `result != 0' failed
(process:16981): GLib-GObject-CRITICAL **: gtype.c:2720: You forgot to call g_type_init()
(process:16981): GLib-CRITICAL **: void g_once_init_leave(volatile void *, gsize): assertion `result != 0' failed
(process:16981): GLib-GObject-CRITICAL **: gtype.c:2720: You forgot to call g_type_init()
(process:16981): GLib-GObject-CRITICAL **: gtype.c:2720: You forgot to call g_type_init()
复制代码

几番搜索后找到这个补丁: github.com/oetiker/rrd…

当然,那个补丁不能直接用,所以我又重新生成了一个 git 版的新补丁:

diff --git a/src/rrd_graph.c b/src/rrd_graph.c
index 5f70a38..303d3f3 100644
--- a/src/rrd_graph.c
+++ b/src/rrd_graph.c
@@ -4066,6 +4066,8 @@ void rrd_graph_init(
     static PangoFontMap *fontmap = NULL;
     PangoContext *context;
+    g_type_init();
+
 #ifdef HAVE_TZSET
     tzset();
 #endif
复制代码

使用这个补丁的方法是:

brew edit rrdtool
复制代码

进入 formula 的编辑界面,把上面的补丁粘贴到文件尾部存盘退出就行了。最后重新使用 brew install 在安装就能把刚才的补丁打进去。

还没来得及怎么研究把补丁提交给组织,不过,下面说说我是怎么生成这个补丁的。先要学习一下这个: github.com/mxcl/homebr…

原来 brew 可以交互式的产生补丁,直接使用以下命令可以进到一个新的shell中。

brew install --interactive --git foo
复制代码

| 然后手工修改文件,最后使用 git diff | pbcopy 将补丁粘帖到剪贴板。按 exit 退出交互式 shell。 |

简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个

应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。该协议是互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

 

  1. SNMP版本:

V1:三种模式:1、ro 只读模式 2、RW 读写模式 3、trap模式 agent主动通知NMS。

V2:认证加强,采用community-string-based也称为V2C

V3:认证更加加强,数据传输使用加密方式。

  1. SNMP监控对象:

MIB库里面定义被监控的对象,OID采用树形结构来定义:其中1.3.6.1是用来定义internet的。1.3.6.1.2.1为mib-2 的标准库,里面包含了system,interface,at(address translation),ip,icmp,tcp,udp,egp等相关的信息定义,在linux中就可以直接使用,不用再去定义和实现。只谈internet时候:{1.3.6.1.2.1}等同于{internet(1).2.1} 也就是mib-2

网络异常,图片无法展示
|

  1. SNMP报文总计有5类:
  1. get OID:获取某个OID对应的值。
  2. get next:子节点上所有信息(只能在末端的上层使用)
  3. getbulk (v2或者V3)获取从某个OID开始,之下的OID对应的值。
  4. set 设置某个OID的值
  5. get response
  1. centos下开启snmp管理和代理的功能。

LINUX下提供SNMP功能的主要是两个包:net-snmp(agent)是snmp的代理实现,net-snmp-utils(NMS-comand) 管理端命令行。

我们在测试的情况下本机即作为代理,又作为管理端,所以两个软件都装。直接利用yum install net-snmp net-snmp-utils -y

然后进行配置。net-snmp的配置文件在/etc/snmp/snmp.conf和/etc/snmp/smtptrap.conf两个配置文件

我们先来配置/etc/snmp/snmp.conf

先定义密码,community就是指密码,source定义访问源,可以定义为其他的网络,sec.name就是指密码的名称,后面会用到。

下面的组配置 groupname就是组名称 sercuitymodel指加密版本v1还是v2c,sercurityname就是定义这个组使用哪个密码配置。

接着定义可以查看的MIB的选项,name对此view定义一个别名组,后面的授权访问会用到。subtree就是使用MIB的OID。

access定义了访问选项 group定义了访问的组,ace.model指访问版本,read 是指哪些MIB是允许读取的,write是指哪些MIB是允许写入数据的。notif哪些是运行主动通知的。

网络异常,图片无法展示
|

这里定义了community为public的密码可以访问.1.3.6.1.2.1.1 根据上图就是可以查看系统相关信息,以及.1.3.6.1.2.1.6tcp的相关信息

  1. 验证和使用snmp的相关信息
  1. 上面的默认配置我们先不进行改动,可以使用net-snmp和net-snmp-utils 来进行验证。先开启snmpd的服务

service snmpd start

然后分别查看系统和网络的相关信息

查看系统相关的:snmpwalk -v 2c -c public 192.168.8.21 system

查看TCP相关的:[root@rs1 snmp]# snmpwalk -v 2c -c public 192.168.8.21 tcp

也可以使用:[root@rs1 snmp]# snmpwalk -v 2c -c public 192.168.8.21 查看所有的SNMP信息。


相关文章
|
3月前
|
NoSQL 数据可视化 Redis
Mac安装Redis
Mac安装Redis
73 3
|
2月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
3月前
|
数据安全/隐私保护 iOS开发 MacOS
Mac安装Navicat Premium 16.3.5
Mac安装Navicat Premium 16.3.5
258 3
|
10天前
|
开发工具 iOS开发 开发者
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在 Mac 上安装 DevEco Studio
本篇将专注于如何在 Mac 上安装鸿蒙开发工具 DevEco Studio,确保开发环境能够顺利搭建。完成安装后,可以正式开始鸿蒙应用的开发工作。
43 1
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在 Mac 上安装 DevEco Studio
|
1月前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
58 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
|
1月前
|
IDE 开发工具 iOS开发
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
本篇将详细介绍如何在Mac系统上安装Python,并配置Python开发环境。内容涵盖Python的安装、pip包管理工具的配置与国内镜像源替换、安装与配置PyCharm开发工具,以及通过PyCharm编写并运行第一个Python程序。通过本篇的学习,用户将完成Python开发环境的搭建,为后续的Python编程工作打下基础。
166 2
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
|
1月前
|
iOS开发 MacOS Python
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
本篇将详细介绍如何在Mac系统上安装Typora这款简洁高效的Markdown编辑器,并学习Markdown常用语法。通过本篇,用户能够准备好记录学习笔记的工具,并掌握基本的文档编辑与排版技巧,为后续学习提供便利。
144 1
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
|
27天前
|
NoSQL Shell MongoDB
Mac OSX 平台安装 MongoDB
10月更文挑战第11天
18 4
|
30天前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
63 0
Mac os 安装 nginx 教程(success)
|
2月前
|
项目管理 Python
如何在Mac上安装多个Python环境
在你的Mac上使用多个Python环境可以对项目管理很有帮助,特别是在同时处理不同Python版本或不同的包需求时。在这篇文章中,我们将向你展示如何在Mac上轻松地安装和管理多个Python环境。
59 5
 如何在Mac上安装多个Python环境