It seems I have the graphing going after all! Will gather some data and report back! This is so great, JinTu! How about a bounty for cgminer stats implementation? Once I mine some BTC i will send you a donation!
Glad to hear you got it going, and looking forward to your sample graphs. I'm certainly open to a bounty for implementing cgminer stats. It's been on my todo list ever since the 2.1.0 release supporting the JSON API, but it has been near impossible to find the time. A bounty would help goad me into actually doing it.
|
|
|
You sir, are my hero! Will donate in a couple of days after I've set up the system! This is going to be VERY useful.
Thanks mate, Be sure to post some sample graphs when you get it up and running.
|
|
|
I have been contemplating water cooling for my 4RU 19" rack mounted miners as well. Noise is a big issue for me due to the WAF, so I have been looking at passive radiators like these. They take up a lot more room, but are totally silent. My current thought is to mount an array of these to the side of the 19" rack so it doesn't take up additional space.
|
|
|
Data from a non-working one. It shows "success, 0 items 0 rows". Won't show any cards when I go to add graphs. Data Query Debug Information + Running data query [12]. + Found type = '3' [snmp query]. + Found data query XML file at '/usr/share/cacti/site/resource/snmp_queries/amd_gpu.xml' + XML file parsed ok. + Executing SNMP walk for list of indexes @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100' + No SNMP data returned + Found data query XML file at '/usr/share/cacti/site/resource/snmp_queries/amd_gpu.xml' + Found data query XML file at '/usr/share/cacti/site/resource/snmp_queries/amd_gpu.xml' + Found data query XML file at '/usr/share/cacti/site/resource/snmp_queries/amd_gpu.xml <snip> I suspect the errors in the cacti.log are telling me, but I need a more verbose output... 02/20/2012 03:25:02 PM - CMDPHP: Poller[0] Host[2] DS[8] WARNING: Result from SNMP not valid. Partial Result: U 02/20/2012 03:25:04 PM - CMDPHP: Poller[0] Host[8] DS[80] WARNING: Result from SNMP not valid. Partial Result: U 02/20/2012 03:25:08 PM - CMDPHP: Poller[0] Host[9] DS[118] WARNING: Result from CMD not valid. Partial Result: U 02/20/2012 03:25:08 PM - CMDPHP: Poller[0] Host[9] DS[119] WARNING: Result from CMD not valid. Partial Result: U 02/20/2012 03:25:09 PM - CMDPHP: Poller[0] Host[9] DS[120] WARNING: Result from CMD not valid. Partial Result: U 02/20/2012 03:25:09 PM - CMDPHP: Poller[0] Host[9] DS[120] WARNING: Result from CMD not valid. Partial Result: U
I worked with dlasher via PM and we were able to resolve this for his setup (SNMP timeout). Please see the update to the first post (Troubleshooting) for additional details.
|
|
|
dlasher i fixed mine the same way like you, but there is more nasty bug with DUAL GPU adapters. Fans there are -1. So if you have 6 adapters with IDs 0 1 2 3 4 5 . 1 of them is DUAL GPU. Lets say last one. 0 1 2 3 4 are physical. ID 5 is the second GPU. ID 5 must be ignored for fan polling. For load, temp etc is fine.
I would love to see a dump of this (with gpu_snmp.pl fan) if you can provide it. Since my rig only has two dual GPUs, I don't really know what this would look like in a mixed system. My dual 6990's report back two fan set points per card even though there is really only one attached fan.
|
|
|
Guessing it's this line in the script: unless ($adapter_list =~ m/^.*\d+\.\s+\d{2}:\d{2}\.\d\s+.*/) {
Yep, you nailed it. The regex doesn't work with anything other than 0-9 at the moment. I'll post an updated version that should work with your setup as soon as I get a couple minutes free. Thank you! You've created one of what I considered the missing pieces for miners with any decent GHash rate.. I've got a couple of miners actually working in Cacti, and once this is fixed, I'll can find the remaining issues and get the others going. Looking forward to the patch. I played with a little. The right fix would be matching to something like [0-9a-fA-F][0-9a-fA-F] but for now I was able to change d{2} to w{2} in both places it matches, and get by. --- gpu_snmp.pl.old 2012-02-20 09:22:31.000000000 -0800 +++ gpu_snmp.pl 2012-02-20 09:20:21.000000000 -0800 @@ -64,7 +64,7 @@ # # * - Default adapter # -unless ($adapter_list =~ m/^.*\d+\.\s+\d{2}:\d{2}\.\d\s+.*/) { +unless ($adapter_list =~ m/^.*\d+\.\s+\w{2}:\d{2}\.\d\s+.*/) { # Bail out, we are getting an error die "Execution failed with:" . $adapter_list . "\nCheck that sudo and aticonfig are configured correctly.\n"; } @@ -73,7 +73,7 @@ my $num_adapters = 0; my @adapter; foreach my $line (split (/\n/,$adapter_list)) { - if (($id,$address,$description) = $line =~ m/^.*(\d+)\.\s+(\d{2}:\d{2}\.\d)\s+(.*)/) { + if (($id,$address,$description) = $line =~ m/^.*(\d+)\.\s+(\w{2}:\d{2}\.\d)\s+(.*)/) { #print "Got \$id:$id,\$address:$address,\$description:$description\n"; $adapter[$num_adapters]{'id'} = $id; $adapter[$num_adapters]{'address'} = $address;
Updated version with dlasher's regex fixes posted to the link in the first post.
|
|
|
Guessing it's this line in the script: unless ($adapter_list =~ m/^.*\d+\.\s+\d{2}:\d{2}\.\d\s+.*/) {
Yep, you nailed it. The regex doesn't work with anything other than 0-9 at the moment. I'll post an updated version that should work with your setup as soon as I get a couple minutes free.
|
|
|
EDIT: Ignore me working fine.. I was able to still go add the graphs and it worked.
Glad to hear it! Feel free to share your graphs if you are willing.
|
|
|
when i do that with my 6970, it defaults back to stock settings.
I think this is an issue with the 6xxx series, not the miner software. All 6000 series cards are restricted to GPU clock -125 for memclock. For example, if you are running at 900 on GPU, the lowest you can clock the memory is 775. Anything lower than 125 below the GPU clock will reset the memclock to stock speed. Windows applications have extra backdoors to the hardware to get around this. We have no cross platform->linux code that can do this, nor do I have access to how it's done on windows. So afterburner and others can work around this limitation. It is possible to run 6000 series cards at significantly lower memclock rates on Linux, but you need to be willing to reflash your cards. I currently run my dual 6990 rig at a memclock of 150 with a GPU clock of 600 (higher is possible, but cooling/fan noise is an issue with the placement of my rig). The big upside to running at a lower memclock is reduced power consumption, but this would only work if you have a dedicated mining rig.
|
|
|
Sorry for cross-posting, but this would seem to be relevant to both the main cgminer and this API thread. I hacked together a workalike version of api-example in Perl leveraging the JSON parlance of the API supported by Kano's wonderful enhancements. Details are here.
|
|
|
Another voice added to the increasing murmur:
In response to Q, after normal/complete console and log output:
./start.sh: line 5: 9166 Segmentation fault DISPLAY=:0 cgminer -c cgminer.conf 2> logs/$now.log
2.1.0 on Ubuntu 11.04
I also get segfaults when exiting via Q on 2.1.0 (CentOS 6.2 x86_64)
|
|
|
Here is my quick and dirty Perl implementation of api-example. Just copy and save this as api-example.pl. Note, you need to have the JSON Perl module installed to use this (perl-JSON for RH-based distros). #!/usr/bin/perl -w #
# # Simple Perl script to query and parse cgminer API stats in JSON # ###################### ## Usage ## ###################### # # perl api-example.pl command # ###################### ## Revision History ## ###################### # # v0.02 4/10/2012 JinTu (jintuNO@SPAMpraecogito.com) # Bugfix: Support for multi element arrays in responses # # v0.01 12/28/2011 JinTu (jintuNO@SPAMpraecogito.com) # First working version. Supports cgminer 2.1.0 API JSON format # ##
use strict; use IO::Socket; use JSON -support_by_pp;
my $cgminer_host = "localhost"; my $cgminer_port = "4028";
my $remote = IO::Socket::INET->new( Proto => "tcp", PeerAddr => $cgminer_host, PeerPort => $cgminer_port, ) or die "cannot connect to port $cgminer_host:$cgminer_port, $!\n";
my $command; my $parameter; if ($ARGV[0]) { # look for parameters in addition to a command unless (($command,$parameter) = $ARGV[0] =~ m/(.*)\|(.*)/) { $command = $ARGV[0]; } } else { # We didn't get an argument so default to sending summary $command = "summary"; }
# Send the JSON query if ($parameter) { print $remote '{"command":"' . $command . '","parameter":"' . $parameter . '"}'; } else { print $remote '{"command":"' . $command . '"}'; }
# Now read the result my $response = <$remote>;
print $command . " returned \'$response\'\n";
# Now parse the JSON my $json = new JSON;
# these are some nice json options to relax restrictions a bit: my $json_text = $json->allow_nonref->utf8->relaxed->escape_slash->loose->allow_singlequote->allow_barekey->decode($response);
foreach my $tlc (keys %{$json_text}){ print "\n$tlc\n"; if ($json_text->{$tlc} =~ /array/i) { for (my $i = 0; $i <= (scalar @{$json_text->{$tlc}} - 1); $i++) { print "->[$i]\n"; foreach my $cat (keys %{$json_text->{$tlc}->[$i]}) { print "\t$cat=" . $json_text->{$tlc}->[$i]->{$cat} . "\n"; } } } else { # This is not an array so just print it print "\t" . $json_text->{$tlc} . "\n"; } }
# make sure we close the socket $remote->close();
This will give you output like the following: [JinTu@acheron ]$ perl api-example.pl summary returned '{"STATUS":[{"STATUS":"S","Code":11,"Msg":"Summary","Description":"cgminer 2.3.1"}],"SUMMARY":[{"Elapsed":17227,"MHS av":855.59,"Found Blocks":0,"Getworks":5060,"Accepted":3546,"Rejected":10,"Hardware Errors":0,"Utility":12.35,"Discarded":373,"Stale":5,"Get Failures":10,"Local Work":0,"Remote Failures":5,"Network Blocks":31,"Total MH":14739525.4682}],"id":1}'
SUMMARY ->[0] Local Work=0 Hardware Errors=0 Total MH=14739525.4682 MHS av=855.59 Stale=5 Network Blocks=31 Elapsed=17227 Rejected=10 Discarded=373 Utility=12.35 Get Failures=10 Found Blocks=0 Getworks=5060 Remote Failures=5 Accepted=3546
STATUS ->[0] Code=11 Msg=Summary STATUS=S Description=cgminer 2.3.1
id 1
[JinTu@acheron ]$ perl api-example.pl devs devs returned '{"STATUS":[{"STATUS":"S","Code":9,"Msg":"4 GPU(s)","Description":"cgminer 2.3.1"}],"DEVS":[{"GPU":0,"Enabled":"Y","Status":"Alive","Temperature":76 .00,"Fan Speed":3108,"Fan Percent":50,"GPU Clock":470,"Memory Clock":150,"GPU Voltage":1.000,"GPU Activity":94,"Powertune":0,"MHS av":195.33,"MHS 5s":192.98,"Acce pted":824,"Rejected":4,"Hardware Errors":0,"Utility":2.90,"Intensity":"D","Last Share Pool":0,"Last Share Time":1334101418,"Total MH":3325785.6696},{"GPU":1,"Enab led":"Y","Status":"Alive","Temperature":75.50,"Fan Speed":-1,"Fan Percent":50,"GPU Clock":500,"Memory Clock":150,"GPU Voltage":1.000,"GPU Activity":99,"Powertune" :0,"MHS av":219.29,"MHS 5s":219.97,"Accepted":888,"Rejected":4,"Hardware Errors":0,"Utility":3.13,"Intensity":"8","Last Share Pool":0,"Last Share Time":1334101419 ,"Total MH":3733853.3069},{"GPU":2,"Enabled":"Y","Status":"Alive","Temperature":72.50,"Fan Speed":3034,"Fan Percent":50,"GPU Clock":500,"Memory Clock":150,"GPU Vo ltage":1.000,"GPU Activity":99,"Powertune":0,"MHS av":220.79,"MHS 5s":220.81,"Accepted":883,"Rejected":2,"Hardware Errors":0,"Utility":3.11,"Intensity":"8","Last Share Pool":0,"Last Share Time":1334101386,"Total MH":3759237.2347},{"GPU":3,"Enabled":"Y","Status":"Alive","Temperature":75.00,"Fan Speed":-1,"Fan Percent":50,"G PU Clock":500,"Memory Clock":150,"GPU Voltage":1.000,"GPU Activity":0,"Powertune":0,"MHS av":220.07,"MHS 5s":220.24,"Accepted":911,"Rejected":0,"Hardware Errors": 0,"Utility":3.21,"Intensity":"8","Last Share Pool":0,"Last Share Time":1334101436,"Total MH":3747107.3075}],"id":1}'
DEVS ->[0] Total MH=3325785.6696 Last Share Time=1334101418 Fan Percent=50 Fan Speed=3108 Status=Alive Last Share Pool=0 Utility=2.9 MHS 5s=192.98 Temperature=76 Memory Clock=150 GPU Activity=94 Accepted=824 Hardware Errors=0 MHS av=195.33 Enabled=Y GPU Voltage=1 Rejected=4 GPU Clock=470 GPU=0 Intensity=D Powertune=0 ->[1] Total MH=3733853.3069 Last Share Time=1334101419 Fan Percent=50 Fan Speed=-1 Status=Alive Last Share Pool=0 Utility=3.13 MHS 5s=219.97 Temperature=75.5 Memory Clock=150 GPU Activity=99 Accepted=888 Hardware Errors=0 MHS av=219.29 Enabled=Y GPU Voltage=1 Rejected=4 GPU Clock=500 GPU=1 Intensity=8 Powertune=0 ->[2] Total MH=3759237.2347 Last Share Time=1334101386 Fan Percent=50 Fan Speed=3034 Status=Alive Last Share Pool=0 Utility=3.11 MHS 5s=220.81 Temperature=72.5 Memory Clock=150 GPU Activity=99 Accepted=883 Hardware Errors=0 MHS av=220.79 Enabled=Y GPU Voltage=1 Rejected=2 GPU Clock=500 GPU=2 Intensity=8 Powertune=0 ->[3] Total MH=3747107.3075 Last Share Time=1334101436 Fan Percent=50 Fan Speed=-1 Status=Alive Last Share Pool=0 Utility=3.21 MHS 5s=220.24 Temperature=75 Memory Clock=150 GPU Activity=0 Accepted=911 Hardware Errors=0 MHS av=220.07 Enabled=Y GPU Voltage=1 Rejected=0 GPU Clock=500 GPU=3 Intensity=8 Powertune=0
STATUS ->[0] Code=9 Msg=4 GPU(s) STATUS=S Description=cgminer 2.3.1
id 1
|
|
|
Hi Con, It looks like api-example.c, api-example.php, API.java/API.class and miner.php didn't get packaged up in the 2.1.0 source tarball. I see they are there in GIT but the README implies they are included in the main distribution.
|
|
|
Is that with the new Xorg version (video ABI 11)? I've been having trouble with that as the fglrx driver causes a crash whenever I try to watch a video, so I downgraded Xorg and everything was fine once more.
Anyhow, your backtrace suggests that the crash has something to do with setting fan speed. Are you having cgminer manipulate that? If so, does the crash also happen when you start cgminer without --auto-fan or any other fan related options?
I'm using the latest stock version for CentOS 6: xorg-x11-server-Xorg-1.7.7-26.el6_0.3.x86_64. Grepping for ABI in my X logs I get the following: (II) Module ABI versions: ABI class: X.Org Server Extension, version 2.0 ABI class: X.Org Server Extension, version 2.0 ABI class: X.Org Server Extension, version 2.0 ABI class: X.Org Server Extension, version 2.0 ABI class: X.Org Server Extension, version 2.0 ABI class: X.Org Server Extension, version 2.0 ABI class: X.Org Video Driver, version 6.0 ABI class: X.Org Video Driver, version 6.0 ABI class: X.Org ANSI C Emulation, version 0.4 Yes, I am indeed using --auto-fan. I tried omitting this option (first setting the fanspeed manually with aticonfig) and it still causes the same error when I instruct cgminer to quit and X crashes.
|
|
|
Hi folks, I have been having a rather annoying issue with X crashing when I stop cgminer with 'q' about 80% of the time. When I quit and it doesn't crash X, the mining statistics text is truncated and cgminer doesn't fully exit until I hit Ctrl-C twice. When it crashes, I see the following in my X logs: Backtrace: 0: /usr/bin/Xorg (xorg_backtrace+0x28) [0x463548] 1: /usr/bin/Xorg (0x400000+0x622a9) [0x4622a9] 2: /lib64/libpthread.so.0 (0x320fe00000+0xf4c0) [0x320fe0f4c0] 3: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (NIslands_FanCtrl_SetFanSpeedRPM+0x85) [0x7f8fbddb5e55] 4: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (PHM_SetFanSpeedRPM+0x12) [0x7f8fbdd555d2] 5: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (PEM_SetFanSpeed+0x79) [0x7f8fbdd7a449] 6: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (0x7f8fbd7e3000+0x58fbeb) [0x7f8fbdd72beb] 7: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (PP_Cwdde+0x104) [0x7f8fbdd70c94] 8: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (swlPPLibAdlHandler+0xed) [0x7f8fbdd0b96d] 9: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (swlAdlDispatch+0x49) [0x7f8fbdd0a009] 10: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (0x7f8fbd7e3000+0x43cdbe) [0x7f8fbdc1fdbe] 11: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (0x7f8fbd7e3000+0x43a071) [0x7f8fbdc1d071] 12: /usr/bin/Xorg (0x400000+0x2a03c) [0x42a03c] 13: /usr/bin/Xorg (0x400000+0x2208a) [0x42208a] 14: /lib64/libc.so.6 (__libc_start_main+0xfd) [0x320f21ec5d] 15: /usr/bin/Xorg (0x400000+0x21c49) [0x421c49] Floating point exception at address 0x7f8fbddb5e55
Fatal server error: Caught signal 8 (Floating point exception). Server aborting Details about my mining rig: - CentOS 6 x86_64
- Catalyst 11.11
- ADL SDK 3.0
- APP SDK 2.5
- cgminer 2.0.8
This has been happening for me since building my new miner and may be related to my environment or cgminer itself but wanted to see if anyone else has been experiencing this issue.
|
|
|
Good news guys. I just tried upgrading to the ATI 11.11 driver on linux and the CPU usage bug is finally fixed, AND it works with newer xorg 1.11 (in case you're on a very recent distribution, like Archlinux).
How many GPUs? 1 GPU has been fixed since 11.9 2+ GPU was unfixed as of 11.10 If 2+ GPU work in 11.11 that is awesome. Even 1 GPU was NOT fixed for many of us on either 11.9 or 11.10. 11.11 fixes CPU usage for any number of GPUS for me. Confirmed in my CentOS 6 x86_64 dual 6990 rig as well. Loving the lower power consumption!
|
|
|
Looks awesome.. ! Ill have to try this later. Can you somhow include hashrate from some of the popular miners too?
This version of the script (and the reported stats) are totally independent of any mining software you might be using, so you can use any application that uses your GPUs (mining or otherwise) I plan to do another script to scrape the stats cgminer provides for hashrate but am not sure when I will get around to it.
|
|
|
By leveraging my earlier work exposing GPU stats via SNMP, I created a Cacti template for monitoring my mining rigs and would like to share my work with all of you. Here are some teaser graphs from one of my (largely untuned) 6990 GPUs: Adding graphs to Cacti Core clock for GPU 0 Memory clock for GPU 0 (underclocked to 150MHz) Core voltage for GPU 0 Fan speed for GPU 0 Temperature for GPU 0 Load for GPU 0 Prerequisites Installation instructions - Grab the latest template package from here.
- Unzip the package and copy snmp_queries/amd.gpu.xml to your snmp_queries directory i.e. /var/www/html/cacti/resource/snmp_queries
- Import cacti_data_query_amd_gpu.xml from the Cacti web interface.
- Add the 'AMD GPU' Data Query to your miner host or host template.
- 'Create Graphs for this Host' as you would normally.
Troubleshooting - Ensure that the host's SNMP Timeout value is set adequately long (e.g. >5 seconds) as the polling cycle for a host can be quite long.
A Verbose Query should look like the following: + Running data query [16]. + Found type = '3' [snmp query]. + Found data query XML file at '/var/www/html/cacti/resource/snmp_queries/amd_gpu.xml' + XML file parsed ok. + Executing SNMP walk for list of indexes @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100' + Index found at OID: '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100.1' value: '0' + Index found at OID: '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100.2' value: '1' + Index found at OID: '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100.3' value: '2' + Index found at OID: '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100.4' value: '3' + Located input field 'gpuId' [walk] + Executing SNMP walk for data @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.103.112.117.105.100' + Found item [gpuId='0'] index: 1 [from value] + Found item [gpuId='1'] index: 2 [from value] + Found item [gpuId='2'] index: 3 [from value] + Found item [gpuId='3'] index: 4 [from value] + Located input field 'gpuAddress' [walk] + Executing SNMP walk for data @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.10.103.112.117.97.100.100.114.101.115.115' + Found item [gpuAddress='03:00.0'] index: 1 [from value] + Found item [gpuAddress='04:00.0'] index: 2 [from value] + Found item [gpuAddress='07:00.0'] index: 3 [from value] + Found item [gpuAddress='08:00.0'] index: 4 [from value] + Located input field 'gpuDescription' [walk] + Executing SNMP walk for data @ '.1.3.6.1.4.1.8072.1.3.2.4.1.2.14.103.112.117.100.101.115.99.114.105.112.116.105.111.110' + Found item [gpuDescription='AMD Radeon HD 6900 Series'] index: 1 [from value] + Found item [gpuDescription='AMD Radeon HD 6900 Series'] index: 2 [from value] + Found item [gpuDescription='AMD Radeon HD 6900 Series'] index: 3 [from value] + Found item [gpuDescription='AMD Radeon HD 6900 Series'] index: 4 [from value] + Found data query XML file at '/var/www/html/cacti/resource/snmp_queries/amd_gpu.xml' + Found data query XML file at '/var/www/html/cacti/resource/snmp_queries/amd_gpu.xml' + Found data query XML file at '/var/www/html/cacti/resource/snmp_queries/amd_gpu.xml' ...
Have fun!
|
|
|
Hi folks, I'm a big fan of monitoring system performance with SNMP and when it came to mining I didn't find much out there that satisfied my requirements, so I decided to put something together and share with you all. The following describes how to monitor a Linux-based host with any number of ATI GPUs: Prerequesites - Linux host (makes use of aticonfig and POSIX signalling)
- Perl
- AMD drivers
- All installed GPUs detected and operational
- All GPUs must have support for PPLIB.
- Net-snmp installed and operational
Installation instructions - Grab the latest script from here.
- Install this script somewhere net-snmp can execute it (e.g. /usr/local/bin).
- Edit the following lines in the script as appropriate for your environment:
######################################################## ## Tweak the following variables for your environment # my $sudo = "sudo -u jintu"; # The sudo command to execute my $aticonfig = "/usr/bin/aticonfig"; # The full path to aticonfig my $display = "DISPLAY=:0"; # The display your X session and ATI GPUs are running under # - Edit snmpd.conf (mine is in /etc/snmp) to include the following lines (edit the path as appropriate):
# These are multi-line output visible from NET-SNMP-EXTEND-MIB::nsExtendOutLine extend gputemp /usr/local/bin/gpu_snmp.pl temp extend gpuload /usr/local/bin/gpu_snmp.pl load extend gpuclock /usr/local/bin/gpu_snmp.pl clock extend gpumemory /usr/local/bin/gpu_snmp.pl memory extend gpuvcore /usr/local/bin/gpu_snmp.pl vcore extend gpufan /usr/local/bin/gpu_snmp.pl fan extend gpuid /usr/local/bin/gpu_snmp.pl id extend gpuaddress /usr/local/bin/gpu_snmp.pl address extend gpudescription /usr/local/bin/gpu_snmp.pl description # - Test with snmpwalk e.g. 'snmpwalk -v2c -cpublic localhost NET-SNMP-EXTEND-MIB::nsExtendOutLine' which should output something like the following from my dual 6990 rig:
NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuid".1 = STRING: 0 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuid".2 = STRING: 1 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuid".3 = STRING: 2 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuid".4 = STRING: 3 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpufan".1 = STRING: 85 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpufan".2 = STRING: 85 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpufan".3 = STRING: 85 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpufan".4 = STRING: 85 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuload".1 = STRING: 78 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuload".2 = STRING: 91 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuload".3 = STRING: 94 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuload".4 = STRING: 98 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gputemp".1 = STRING: 7350 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gputemp".2 = STRING: 7400 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gputemp".3 = STRING: 7450 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gputemp".4 = STRING: 7550 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuclock".1 = STRING: 500 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuclock".2 = STRING: 500 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuclock".3 = STRING: 515 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuclock".4 = STRING: 505 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuvcore".1 = STRING: 1000 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuvcore".2 = STRING: 1000 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuvcore".3 = STRING: 1050 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuvcore".4 = STRING: 1050 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpumemory".1 = STRING: 150 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpumemory".2 = STRING: 150 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpumemory".3 = STRING: 150 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpumemory".4 = STRING: 150 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuaddress".1 = STRING: 03:00.0 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuaddress".2 = STRING: 04:00.0 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuaddress".3 = STRING: 07:00.0 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpuaddress".4 = STRING: 08:00.0 NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpudescription".1 = STRING: AMD Radeon HD 6900 Series NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpudescription".2 = STRING: AMD Radeon HD 6900 Series NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpudescription".3 = STRING: AMD Radeon HD 6900 Series NET-SNMP-EXTEND-MIB::nsExtendOutLine."gpudescription".4 = STRING: AMD Radeon HD 6900 Series Troubleshooting - If you see "sudo: sorry, you must have a tty to run sudo" when executing the script via snmpd, comment out the following line in your sudoers file:
Wire up to your NMS as you see fit. For reference, I have posted my Cacti template utilizing these stats here. Have fun!
|
|
|
And now all 3 pool servers are down. I have a few weaker machines I'm bringing up that will proxy connections to our backend. If they go down I'm out of options until the attackers stop.
Looks like they hit Slush too.
|
|
|
|