<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.livois.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Monys</id>
	<title>Monys - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.livois.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Monys"/>
	<link rel="alternate" type="text/html" href="https://wiki.livois.com/mediawiki/index.php?title=Monys&amp;action=history"/>
	<updated>2026-05-25T05:33:11Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.livois.com/mediawiki/index.php?title=Monys&amp;diff=2082&amp;oldid=prev</id>
		<title>Unknown user le 1 avril 2023 à 06:47</title>
		<link rel="alternate" type="text/html" href="https://wiki.livois.com/mediawiki/index.php?title=Monys&amp;diff=2082&amp;oldid=prev"/>
		<updated>2023-04-01T06:47:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 1 avril 2023 à 06:47&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Ligne 1 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Applications Web&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Archives&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Monys est une application de monitoring de serveurs /postes informatiques.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Monys est une application de monitoring de serveurs /postes informatiques.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
	<entry>
		<id>https://wiki.livois.com/mediawiki/index.php?title=Monys&amp;diff=1375&amp;oldid=prev</id>
		<title>Christophe le 4 avril 2016 à 20:34</title>
		<link rel="alternate" type="text/html" href="https://wiki.livois.com/mediawiki/index.php?title=Monys&amp;diff=1375&amp;oldid=prev"/>
		<updated>2016-04-04T20:34:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 4 avril 2016 à 20:34&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Ligne 2 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 2 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Monys est une application de monitoring de serveurs /postes informatiques.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Monys est une application de monitoring de serveurs /postes informatiques.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http://monys.livois.com&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Installation=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Installation=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http://&lt;/del&gt;monys&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.livois.com&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Me demander le script &lt;/ins&gt;monys&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Debuggage=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Debuggage=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Christophe</name></author>
	</entry>
	<entry>
		<id>https://wiki.livois.com/mediawiki/index.php?title=Monys&amp;diff=195&amp;oldid=prev</id>
		<title>Christophe : 1 version</title>
		<link rel="alternate" type="text/html" href="https://wiki.livois.com/mediawiki/index.php?title=Monys&amp;diff=195&amp;oldid=prev"/>
		<updated>2012-05-28T20:31:58Z</updated>

		<summary type="html">&lt;p&gt;1 version&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Applications Web]]&lt;br /&gt;
&lt;br /&gt;
Monys est une application de monitoring de serveurs /postes informatiques.&lt;br /&gt;
&lt;br /&gt;
http://monys.livois.com&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
http://monys.livois.com&lt;br /&gt;
&lt;br /&gt;
=Debuggage=&lt;br /&gt;
 #./monys.pl -v update 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
* HOST-RESOURCES-MIB&lt;br /&gt;
 #snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.25 -Oqn&lt;br /&gt;
&lt;br /&gt;
uptime&lt;br /&gt;
netsnmp uptime&lt;br /&gt;
 #snmpget -Oqn -v 2c -c public localhost .1.3.6.1.2.1.1.3.0&lt;br /&gt;
system uptime&lt;br /&gt;
 #snmpget -Oqn -v 2c -c public localhost .1.3.6.1.2.1.25.1.1.0 &lt;br /&gt;
&lt;br /&gt;
net&lt;br /&gt;
 #.1.3.6.1.2.1.2.2.1&lt;br /&gt;
&lt;br /&gt;
cpu (5.4)&lt;br /&gt;
 #snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.25.3 | grep 768&lt;br /&gt;
 #snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.25.3.3.1.2&lt;br /&gt;
&lt;br /&gt;
mem&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1.3.6.1.2.1.25.2.3.1.3&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: Physical memory&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: Virtual memory&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: Memory buffers&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageDescr.7 = STRING: Cached memory&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageDescr.8 = STRING: Shared memory&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageDescr.10 = STRING: Swap space&lt;br /&gt;
&lt;br /&gt;
1.3.6.1.2.1.25.2.3.1.5&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: 1522820&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageSize.3 = INTEGER: 3530936&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageSize.6 = INTEGER: 60352&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageSize.7 = INTEGER: 126724&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageSize.8 = INTEGER: 0&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageSize.10 = INTEGER: 2008116&lt;br /&gt;
&lt;br /&gt;
1.3.6.1.2.1.25.2.3.1.6&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 1468900&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageUsed.3 = INTEGER: 1824272&lt;br /&gt;
HOST-RESOURCES-MIB::hrStorageUsed.10 = INTEGER: 355372&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
disk &lt;br /&gt;
 Ce sont les mêmes oid que pour la mémoire.&lt;br /&gt;
 usage: 1.3.6.1.2.1.25.2.3.1.6.x&lt;br /&gt;
 size: 1.3.6.1.2.1.25.2.3.1.5.x&lt;br /&gt;
 unit: 1.3.6.1.2.1.25.2.3.1.4.x&lt;br /&gt;
 name: 1.3.6.1.2.1.25.2.3.1.3.x&lt;br /&gt;
&lt;br /&gt;
procs&lt;br /&gt;
  .1.3.6.1.2.1.25.4.2.1.1.x index&lt;br /&gt;
  .1.3.6.1.2.1.25.4.2.1.2.x name&lt;br /&gt;
  .1.3.6.1.2.1.25.4.2.1.3.1 0&lt;br /&gt;
  .1.3.6.1.2.1.25.4.2.1.4.1 name+&lt;br /&gt;
  .1.3.6.1.2.1.25.4.2.1.5.1 params&lt;br /&gt;
  .1.3.6.1.2.1.25.4.2.1.6.1 type (application)&lt;br /&gt;
  .1.3.6.1.2.1.25.4.2.1.7.1 status (runnable|running)&lt;br /&gt;
  .1.3.6.1.2.1.25.5.1.1.1.1 cpu&lt;br /&gt;
  .1.3.6.1.2.1.25.5.1.1.2.1 mem&lt;br /&gt;
&lt;br /&gt;
*  UCD-SNMP-MIB: .1.3.6.1.4.1.2021&lt;br /&gt;
&lt;br /&gt;
Load&lt;br /&gt;
 .1.3.6.1.4.1.2021.10.1.3.1 laLoad.1&lt;br /&gt;
 .1.3.6.1.4.1.2021.10.1.3.2 laLoad.2&lt;br /&gt;
 .1.3.6.1.4.1.2021.10.1.3.3 laLoad.3&lt;br /&gt;
systemStats&lt;br /&gt;
 .1.3.6.1.4.1.2021.11&lt;br /&gt;
&lt;br /&gt;
sensors&lt;br /&gt;
 .1.3.6.1.4.1.2021.13&lt;br /&gt;
&lt;br /&gt;
ping&amp;lt;br&amp;gt;&lt;br /&gt;
disman-ping : buggé dans net-snmp.&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.mail-archive.com/net-snmp-coders@lists.sourceforge.net/msg08977.html&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oidview.com/mibs/0/DISMAN-PING-MIB.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==SNMP==&lt;br /&gt;
http://net-snmp.sourceforge.net/docs/FAQ.html&lt;br /&gt;
&lt;br /&gt;
http://forums.gentoo.org/viewtopic-t-40975-highlight-netsnmp+proc+snmp6.html&lt;br /&gt;
&lt;br /&gt;
http://search.cpan.org/dist/Net-SNMP/lib/Net/SNMP.pm&lt;br /&gt;
&lt;br /&gt;
http://www.mibdepot.com/cgi-bin/vendor_index.cgi?r=linux&lt;br /&gt;
&lt;br /&gt;
===snmp v3===&lt;br /&gt;
http://www.net-snmp.org/docs/README.snmpv3.html&lt;br /&gt;
 #net-snmp-config&lt;br /&gt;
 &lt;br /&gt;
 #snmpd -H &lt;br /&gt;
 &lt;br /&gt;
 #snmpd -Dmib_init&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;licode file=/etc/conf.d/snmpd&amp;gt;&lt;br /&gt;
# Initial (empty) options.&lt;br /&gt;
SNMPD_FLAGS=&amp;quot;-V&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Enable connection logging.&lt;br /&gt;
SNMPD_FLAGS=&amp;quot;${SNMPD_FLAGS} -a&amp;quot;&lt;br /&gt;
&amp;lt;/licode&amp;gt;&lt;br /&gt;
 #tail -f /var/log/net-snmpd.log&lt;br /&gt;
&lt;br /&gt;
==monys.conf==&lt;br /&gt;
&lt;br /&gt;
 oid uptime      .1.3.6.1.2.1.25.1.1.0 #system uptime&lt;br /&gt;
 oid cpu2        .1.3.6.1.2.1.25.3.3.1.2.768&lt;br /&gt;
 oid cpu         .1.3.6.1.4.1.2021.50.3.1.2.8.99.112.117.115.116.97.116.115&lt;br /&gt;
 oid load        .1.3.6.1.4.1.2021.10.1.3&lt;br /&gt;
 oid mem         .1.3.6.1.2.1.25.2.3.1&lt;br /&gt;
 oid disk        .1.3.6.1.2.1.25.2.3.1&lt;br /&gt;
 oid proc        .1.3.6.1.2.1.25 #.4.2.1.2&lt;br /&gt;
 #oid cproc      .1.3.6.1.2.1.25 #.5.1.1.1&lt;br /&gt;
 #oid mproc      .1.3.6.1.2.1.25 #.5.1.1.2&lt;br /&gt;
 oid net         .1.3.6.1.2.1.2.2.1&lt;br /&gt;
 oid nf_INPUT     .1.3.6.1.4.1.2021.54.3.1.2.8.105.112.116.115.116.97.116.115&lt;br /&gt;
 oid nf_OUTPUT    .1.3.6.1.4.1.2021.55.3.1.2.8.105.112.116.115.116.97.116.115&lt;br /&gt;
 oid nf_FORWARD   .1.3.6.1.4.1.2021.56.3.1.2.8.105.112.116.115.116.97.116.115&lt;br /&gt;
&lt;br /&gt;
==Monys.pm==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
package Monys;&lt;br /&gt;
use Exporter;&lt;br /&gt;
use File::Temp qw/ tempfile tempdir /;&lt;br /&gt;
@ISA = qw ( Exporter );&lt;br /&gt;
@EXPORT = qw ( $DEBUG @colors %start $rrddir $pngdir $period %color @color);&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
sub new&lt;br /&gt;
{&lt;br /&gt;
  my $class = shift;&lt;br /&gt;
  my $self= {};&lt;br /&gt;
  my ($hostname,$session,$href)=@_;&lt;br /&gt;
&lt;br /&gt;
  #monys object values: hostname,session,oid,filename,rrd,png,name,vars&lt;br /&gt;
  $self-&amp;gt;{hostname}=$hostname;&lt;br /&gt;
  $self-&amp;gt;{session}=$session;&lt;br /&gt;
  $self-&amp;gt;{oid}=$href-&amp;gt;{oid};&lt;br /&gt;
  $self-&amp;gt;{png}=$Monys::pngdir.&amp;quot;/&amp;quot;.$hostname.&amp;quot;/&amp;quot;.$Monys::period.&amp;quot;/&amp;quot;.$href-&amp;gt;{file_png}.&amp;quot;.png&amp;quot;;&lt;br /&gt;
  $self-&amp;gt;{name}=$href-&amp;gt;{name};&lt;br /&gt;
  $self-&amp;gt;{vars}=$href-&amp;gt;{vars};&lt;br /&gt;
&lt;br /&gt;
  print &amp;quot;$hostname: $self-&amp;gt;{name}: $self-&amp;gt;{oid}\n&amp;quot; if $Monys::DEBUG;&lt;br /&gt;
  bless $self, $class;&lt;br /&gt;
  return $self;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub rrd_create&lt;br /&gt;
{&lt;br /&gt;
  my $self = shift;&lt;br /&gt;
  my ($rrd,@DS)=@_;&lt;br /&gt;
  print &amp;quot;CREATE $rrd\n&amp;quot; if $Monys::DEBUG;&lt;br /&gt;
  my (@RRA_LAST,@RRA_AVERAGE,@RRA_MIN,@RRA_MAX);&lt;br /&gt;
&lt;br /&gt;
  #RRA:AVERAGE | MIN | MAX | LAST:xff:steps:rows&lt;br /&gt;
  #xff The xfiles factor defines what part of a consolidation interval may be made up from *UNKNOWN* data while the consolidated value is still regarded as known.&lt;br /&gt;
  #steps defines how many of these primary data points are used to build a consolidated data point which then goes into the archive.&lt;br /&gt;
  #rows defines how many generations of data values are kept in an RRA.&lt;br /&gt;
  push @RRA_LAST, &amp;quot;RRA:LAST:0.5:1:367&amp;quot;; #288*300=86400s in a day&lt;br /&gt;
  push @RRA_LAST, &amp;quot;RRA:LAST:0.5:7:288&amp;quot;; #288*7*300=7*86400s in a week&lt;br /&gt;
  push @RRA_LAST, &amp;quot;RRA:LAST:0.5:31:288&amp;quot;;#288*31*300=31*86400s in a month&lt;br /&gt;
  push @RRA_LAST, &amp;quot;RRA:LAST:0.5:366:288&amp;quot;;#288*366*300=366*86400s in a year&lt;br /&gt;
&lt;br /&gt;
  push @RRA_AVERAGE, &amp;quot;RRA:AVERAGE:0.5:1:367&amp;quot;;&lt;br /&gt;
  push @RRA_AVERAGE, &amp;quot;RRA:AVERAGE:0.5:7:288&amp;quot;;&lt;br /&gt;
  push @RRA_AVERAGE, &amp;quot;RRA:AVERAGE:0.5:31:288&amp;quot;;&lt;br /&gt;
  push @RRA_AVERAGE, &amp;quot;RRA:AVERAGE:0.5:366:288&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  push @RRA_MIN, &amp;quot;RRA:MIN:0.5:1:367&amp;quot;;&lt;br /&gt;
  push @RRA_MIN, &amp;quot;RRA:MIN:0.5:7:288&amp;quot;;&lt;br /&gt;
  push @RRA_MIN, &amp;quot;RRA:MIN:0.5:31:288&amp;quot;;&lt;br /&gt;
  push @RRA_MIN, &amp;quot;RRA:MIN:0.5:366:288&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  push @RRA_MAX, &amp;quot;RRA:MAX:0.5:1:367&amp;quot;;&lt;br /&gt;
  push @RRA_MAX, &amp;quot;RRA:MAX:0.5:7:288&amp;quot;;&lt;br /&gt;
  push @RRA_MAX, &amp;quot;RRA:MAX:0.5:31:288&amp;quot;;&lt;br /&gt;
  push @RRA_MAX, &amp;quot;RRA:MAX:0.5:366:288&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  RRDs::create (&amp;quot;$rrd&amp;quot;,&lt;br /&gt;
  @DS,&lt;br /&gt;
  @RRA_LAST,&lt;br /&gt;
  @RRA_AVERAGE,&lt;br /&gt;
  @RRA_MIN,&lt;br /&gt;
  @RRA_MAX);&lt;br /&gt;
  my $ERR=RRDs::error;print &amp;quot;ERROR:  $ERR\n&amp;quot; if $ERR;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub update&lt;br /&gt;
{&lt;br /&gt;
  my $self = shift;&lt;br /&gt;
  my ($rrd,$N)=@_;&lt;br /&gt;
  print &amp;quot;UPDATE $rrd $N\n&amp;quot; if $Monys::DEBUG;&lt;br /&gt;
  RRDs::update ($rrd, $N);&lt;br /&gt;
  my $ERR=RRDs::error;print &amp;quot;ERROR:  $ERR\n&amp;quot; if $ERR;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub graph&lt;br /&gt;
{&lt;br /&gt;
  my $self = shift;&lt;br /&gt;
  print &amp;quot;GRAPH $self-&amp;gt;{png}\n&amp;quot; if $Monys::DEBUG;&lt;br /&gt;
  my ($DEF,$CDEF,$AREA,$label,$title)=@_;&lt;br /&gt;
  my $DATE=`date &amp;#039;+%d/%m/%y %H\\:%M&amp;#039;`;chomp $DATE;&lt;br /&gt;
  push @$AREA, &amp;quot;COMMENT:                                                  last update\\: $DATE&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  my %start = (&amp;#039;day&amp;#039; =&amp;gt; -86400, &amp;#039;week&amp;#039; =&amp;gt; -604800, &amp;#039;month&amp;#039; =&amp;gt; -2419200, &amp;#039;year&amp;#039; =&amp;gt; -31449600 );&lt;br /&gt;
&lt;br /&gt;
  RRDs::graph ( &amp;quot;$self-&amp;gt;{png}&amp;quot;,&lt;br /&gt;
  &amp;quot;--vertical-label&amp;quot;,$label,&lt;br /&gt;
  &amp;quot;--title&amp;quot;, &amp;quot;$self-&amp;gt;{hostname} - $title&amp;quot;,&lt;br /&gt;
  &amp;quot;--start&amp;quot;, $start{$Monys::period},&lt;br /&gt;
  &amp;quot;--height=150&amp;quot;,&lt;br /&gt;
  &amp;quot;--width=480&amp;quot;,&lt;br /&gt;
  @$DEF,&lt;br /&gt;
  @$CDEF,&lt;br /&gt;
  @$AREA);&lt;br /&gt;
  my $ERR=RRDs::error;print &amp;quot;ERROR:  $ERR\n&amp;quot; if $ERR;&lt;br /&gt;
&lt;br /&gt;
  #foreach (@$DEF){print $_,&amp;quot;\n&amp;quot;;}&lt;br /&gt;
  #foreach (@$CDEF){print $_,&amp;quot;\n&amp;quot;;}&lt;br /&gt;
  #foreach (@$AREA){print $_,&amp;quot;\n&amp;quot;;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
##gsize - Used with rrdgraph -&amp;gt; display xx.xx[kMG] values&lt;br /&gt;
sub gsize&lt;br /&gt;
{&lt;br /&gt;
  my $self = shift;&lt;br /&gt;
  my ($size)=@_;&lt;br /&gt;
  if    ( ($size/1073741824) &amp;gt;= 1 ) { return sprintf &amp;quot;%.2fG&amp;quot;,($size/1073741824);}&lt;br /&gt;
  elsif ( ($size/1048576)    &amp;gt;= 1 ) { return sprintf &amp;quot;%.2fM&amp;quot;,($size/1048576);}&lt;br /&gt;
  elsif ( ($size/1024)       &amp;gt;= 1 ) { return sprintf &amp;quot;%.2fk&amp;quot;, ($size/1024);}&lt;br /&gt;
  else { return sprintf &amp;quot;%.2f&amp;quot;;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#dump &amp;amp; backup rrd file - restore -r&lt;br /&gt;
sub rrd_dump_restore&lt;br /&gt;
{&lt;br /&gt;
  my $self = shift;&lt;br /&gt;
  my ($rrd,$host)=@_;&lt;br /&gt;
  my ($fh, $rrddump) = tempfile(&amp;quot;/tmp/rrddump.XXXXXX&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  print &amp;quot;rrdtool dump $rrd &amp;gt; $rrddump\n&amp;quot; if $Monys::DEBUG;&lt;br /&gt;
  `rrdtool dump $rrd &amp;gt; $rrddump`;&lt;br /&gt;
  rename $rrd,&amp;quot;$rrd.old&amp;quot;;&lt;br /&gt;
  print &amp;quot;rrdtool restore $rrddump $rrd -r\n&amp;quot; if $Monys::DEBUG;&lt;br /&gt;
  `rrdtool restore $rrddump $rrd -r`;&lt;br /&gt;
   unlink &amp;quot;$rrddump&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==exemple: uptime.pm==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
package Monys::uptime;&lt;br /&gt;
@ISA = qw ( Monys );&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
use Net::SNMP;&lt;br /&gt;
use RRDs;&lt;br /&gt;
&lt;br /&gt;
sub new&lt;br /&gt;
{&lt;br /&gt;
  my $class = shift;&lt;br /&gt;
  my ($hostname,$session,$href)=@_;&lt;br /&gt;
  my $self= Monys-&amp;gt;new($hostname,$session,$href);&lt;br /&gt;
  bless $self, $class;&lt;br /&gt;
  return $self;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub rrd_create&lt;br /&gt;
{&lt;br /&gt;
  my $self = shift;&lt;br /&gt;
  my ($rrd)=@_;&lt;br /&gt;
  my @DS;&lt;br /&gt;
  push @DS, &amp;quot;DS:upt:GAUGE:600:0:U&amp;quot;;&lt;br /&gt;
  $self-&amp;gt;SUPER::rrd_create($rrd,@DS);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub update&lt;br /&gt;
{&lt;br /&gt;
  my $self=shift;&lt;br /&gt;
  my $N=&amp;quot;N&amp;quot;;&lt;br /&gt;
  my $OID = $self-&amp;gt;{oid};&lt;br /&gt;
  my $result = $self-&amp;gt;{session}-&amp;gt;get_request(-varbindlist =&amp;gt; [$OID]);&lt;br /&gt;
  my $time=0;&lt;br /&gt;
&lt;br /&gt;
  if ($result-&amp;gt;{$OID} =~ /([0-9]+) minutes/)    { $time += $1/1440;}&lt;br /&gt;
  if ($result-&amp;gt;{$OID} =~ /([0-9]+) hour(s)?, ([0-9]+):/) { $time += $1/24 + $3/1440;}&lt;br /&gt;
  if ($result-&amp;gt;{$OID} =~ /([0-9]+) day/) { $time += $1;}&lt;br /&gt;
  if ($result-&amp;gt;{$OID} =~ /([0-9]+):([0-9]+):/)    { $time += $1/24 + $2/1440;}&lt;br /&gt;
  #if ($result-&amp;gt;{$OID} =~ /([0-9]+) hour/){ $time += $1/24;}&lt;br /&gt;
  #elsif ($result-&amp;gt;{$OID} =~ /([0-9]+) hour/){ $time += $1/24;}&lt;br /&gt;
&lt;br /&gt;
  if (! $time){print STDERR &amp;quot;uptime = $result-&amp;gt;{$OID}\n&amp;quot;;}&lt;br /&gt;
&lt;br /&gt;
  $N.=&amp;quot;:$time&amp;quot;;&lt;br /&gt;
  my $rrdfile=$Monys::rrddir.&amp;quot;/&amp;quot;.$self-&amp;gt;{hostname}.&amp;quot;/&amp;quot;.&amp;quot;uptime.rrd&amp;quot;;&lt;br /&gt;
  unless (-f $rrdfile){$self-&amp;gt;rrd_create($rrdfile);}#create rrd if it doesn&amp;#039;t exist&lt;br /&gt;
  $self-&amp;gt;SUPER::update($rrdfile,$N);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub graph&lt;br /&gt;
{&lt;br /&gt;
  my $self = shift;&lt;br /&gt;
  my (@DEF,@CDEF,@AREA);&lt;br /&gt;
  my $rrdfile=$Monys::rrddir.&amp;quot;/&amp;quot;.$self-&amp;gt;{hostname}.&amp;quot;/&amp;quot;.&amp;quot;uptime.rrd&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  push @DEF, &amp;quot;DEF:dupt=$rrdfile:upt:LAST&amp;quot;;&lt;br /&gt;
  push @AREA, &amp;quot;COMMENT:                  min    max    avg    last\\n&amp;quot;;&lt;br /&gt;
  push @AREA, &amp;quot;AREA:dupt#$Monys::color{&amp;#039;uptime&amp;#039;}: &amp;quot;;&lt;br /&gt;
  push @AREA, &amp;quot;COMMENT:Uptime    &amp;quot;;&lt;br /&gt;
  push @AREA, &amp;quot;GPRINT:dupt:MIN:%3.2lf &amp;quot;;&lt;br /&gt;
  push @AREA, &amp;quot;GPRINT:dupt:MAX:%3.2lf &amp;quot;;&lt;br /&gt;
  push @AREA, &amp;quot;GPRINT:dupt:AVERAGE:%3.2lf &amp;quot;;&lt;br /&gt;
  push @AREA, &amp;quot;GPRINT:dupt:LAST:%3.2lf \\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  $self-&amp;gt;SUPER::graph(\@DEF,\@CDEF,\@AREA,&amp;quot;Days&amp;quot;,&amp;quot;Uptime&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Christophe</name></author>
	</entry>
</feed>