Python 2.x
How to send metrics using Python
- A Python module for sending metrics to Graphite over UDP https://github.com/derpston/python-graphiteudp - Charlie wrote this library, and we use it internally. It’s a good simple library for sending metrics over UDP in Python.
- Diamond - Send system metrics to Graphite Diamond - A really useful Python daemon to send system metrics such as CPU usage, load, Disk IO, etc.
import socket
conn = socket.create_connection(("YOUR-UID.carbon.hostedgraphite.com", 2003))
conn.send("YOUR-API-KEY.foo 1.2\n")
conn.close()
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto("YOUR-API-KEY.foo 1.2\n", ("YOUR-UID.carbon.hostedgraphite.com", 2003))
import urllib2, base64
url = "https://www.hostedgraphite.com/api/v1/sink"
api_key = "YOUR-API-KEY"
request = urllib2.Request(url, "foo 1.2")
request.add_header("Authorization", "Basic %s" % base64.encodestring(api_key).strip())
result = urllib2.urlopen(request)
import socket, ssl
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_sock = ssl.wrap_socket(s)
ssl_sock.connect(("YOUR-UID.carbon.hostedgraphite.com", 20030))
ssl_sock.write("YOUR-API-KEY.foo 1.2\n")
import socket
conn = socket.create_connection(("YOUR-UID.carbon.hostedgraphite.com", 2003))
conn.send("YOUR-API-KEY.foo 1\n".encode('utf-8'))
conn.close()
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto("YOUR-API-KEY.foo 1\n".encode('utf-8'), ("YOUR-UID.carbon.hostedgraphite.com", 2003))
With the requests module:
import requests
response = requests.put("http://www.hostedgraphite.com/api/v1/sink", auth = ("YOUR-API-KEY", ""),
data = "foo 1")
import urllib.request
from base64 import b64encode
url = "https://www.hostedgraphite.com/api/v1/sink"
api_key = b'YOUR-API-KEY'
metric = "foo 1.2".encode('utf-8')
headers = {'Authorization': b'Basic ' + b64encode(api_key)}
request = urllib.request.Request(url, metric, headers)
result = urllib.request.urlopen(request)
import socket, ssl
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_sock = ssl.wrap_socket(s)
ssl_sock.connect(("YOUR-UID.carbon.hostedgraphite.com", 20030))
ssl_sock.write("YOUR-API-KEY.foo 1.2\n".encode("UTF-8"))
Last modified 1mo ago