# Nvidiagpubeat: Monitor Nvidia GPUs using this beat

**URL:** <https://discuss.elastic.co/t/nvidiagpubeat-monitor-nvidia-gpus-using-this-beat/79644>\
**Category:** Beats\
**Created:** [March 22, 2017, 8:12pm UTC](https://discuss.elastic.co/t/nvidiagpubeat-monitor-nvidia-gpus-using-this-beat/79644 "2017-03-22T20:12:10Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![deepujain](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@deepujain](https://discuss.elastic.co/u/deepujain)\
**Post date:** [March 22, 2017, 8:12pm UTC](https://discuss.elastic.co/t/nvidiagpubeat-monitor-nvidia-gpus-using-this-beat/79644/1 "2017-03-22T20:12:11Z")

</div>

nvidiagpubeat can be used to monitor NVIDIA GPUs.

nvidiagpubeat.yml has two configurations

1. query  
By default, it can query "utilization.gpu,utilization.memory,memory.total,memory.free,memory.used,temperature.gpu,pstate" using nvidia-smi utility installed on Nvidia GPU devices. It can be configured to obtain other supported metrics of nvidia-smi

2. env: values can be : test/cluster  
nvidiagpubeat can be run locally to test beat functionality. One can set env:test (default) to run nvidiagpubeat locally and verify beat functionality. In test mode nvidiagpubeat will invoke a dummy localnvidiasmi executable that generates mock metrics for default configuration.

I followed [https://www.elastic.co/guide/en/beats/libbeat/current/new-beat.html](https://www.elastic.co/guide/en/beats/libbeat/current/new-beat.html) and [https://www.elastic.co/guide/en/beats/libbeat/current/community-beats.html](https://www.elastic.co/guide/en/beats/libbeat/current/community-beats.html) in my attempt to write a beat.

Would appreciate feedback/suggestions to improve this beat.

PR : [https://github.com/elastic/beats/pull/3794](https://github.com/elastic/beats/pull/3794)  
nvidiagpubeat: [https://github.com/deepujain/nvidiagpubeat/](https://github.com/deepujain/nvidiagpubeat/)

---

<div class="post-metadata">

**Author:** ![deepujain](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@deepujain](https://discuss.elastic.co/u/deepujain)\
**Post date:** [March 22, 2017, 8:14pm UTC](https://discuss.elastic.co/t/nvidiagpubeat-monitor-nvidia-gpus-using-this-beat/79644/2 "2017-03-22T20:14:52Z")

</div>

Local Execution Instructions:

git clone [https://github.com/deepujain/nvidiagpubeat.git](https://github.com/deepujain/nvidiagpubeat.git)  
cd nvidiagpubeat  
export PATH=$PATH:.:  
./nvidiagpubeat -e -d "\*"

---

<div class="post-metadata">

**Author:** ![exekias](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/exekias/32/28718_2.png) [@exekias](https://discuss.elastic.co/u/exekias)\
**Post date:** [March 23, 2017, 9:25am UTC](https://discuss.elastic.co/t/nvidiagpubeat-monitor-nvidia-gpus-using-this-beat/79644/3 "2017-03-23T09:25:59Z")

</div>

so cool!

I understand that you want to monitor this stats in GPU computing scenarios?

Cheers

---

<div class="post-metadata">

**Author:** ![deepujain](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@deepujain](https://discuss.elastic.co/u/deepujain)\
**Post date:** [March 23, 2017, 4:26pm UTC](https://discuss.elastic.co/t/nvidiagpubeat-monitor-nvidia-gpus-using-this-beat/79644/4 "2017-03-23T16:26:49Z")

</div>

Yes. Anyone with NVIDIA GPUs in her kubernetes (or any other) cluster can monitor GPUs by indexing it into ES cluster with this beat.

I see that kibana visualization is possible once metrics are ingested into ES.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 9:49pm UTC](https://discuss.elastic.co/t/nvidiagpubeat-monitor-nvidia-gpus-using-this-beat/79644/5 "2017-07-05T21:49:46Z")

</div>


