mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-13 14:22:16 +00:00
103 lines
3.2 KiB
Python
Executable File
103 lines
3.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
import os
|
|
|
|
# Set niceness
|
|
os.nice(20)
|
|
|
|
# Activate the virtualenv
|
|
path = os.path.dirname(os.path.realpath(__file__))
|
|
activate_this = os.path.join(path, 'env/bin/activate_this.py')
|
|
execfile(activate_this, dict(__file__=activate_this))
|
|
|
|
import sys
|
|
import logging
|
|
from django.core.management import setup_environ
|
|
import settings
|
|
|
|
setup_environ(settings)
|
|
|
|
import getopt
|
|
|
|
from django.db.models import Count
|
|
from eve_api.app_defines import *
|
|
from eve_api.models import EVEAccount, EVEPlayerCorporation
|
|
|
|
from hr.app_defines import *
|
|
from hr.models import Application
|
|
|
|
from eve_proxy.models import CachedDocument
|
|
|
|
accepted_names = ['munin.py', 'auth_apikeys', 'auth_hrapplications',
|
|
'auth_eveapicache']
|
|
|
|
|
|
class Usage(Exception):
|
|
pass
|
|
|
|
|
|
def main(argv=None):
|
|
if argv is None:
|
|
argv = sys.argv
|
|
|
|
if os.path.basename(argv[0]) in accepted_names:
|
|
execname = os.path.basename(argv[0])
|
|
else:
|
|
print argv[0]
|
|
print >> sys.stderr, "Invalid symlink name, check the source"
|
|
return 2
|
|
try:
|
|
try:
|
|
opts, args = getopt.getopt(argv[1:], "", ["config"])
|
|
except getopt.error, msg:
|
|
raise Usage(msg)
|
|
# more code, unchanged
|
|
except Usage, err:
|
|
print >> sys.stderr, "Invalid usage"
|
|
return 2
|
|
|
|
for arg in args:
|
|
if arg == 'config':
|
|
if execname == 'auth_apikeys':
|
|
print "graph_title Auth Active EVE API Keys"
|
|
print "graph_vlabel Keys"
|
|
print "graph_category auth"
|
|
print "keys.label Keys"
|
|
print "graph_args --base 1000"
|
|
return 0
|
|
if execname == 'auth_hrapplications':
|
|
print "graph_title Auth - Open Applications"
|
|
print "graph_vlabel Applications"
|
|
print "graph_category auth"
|
|
|
|
for i, n in EVEPlayerCorporation.objects.filter(applications=True).values_list('id', 'name'):
|
|
print "%s.label %s" % (i, n)
|
|
print "%s.warning 10" % i
|
|
print "%s.critical 20" % i
|
|
print "graph_args --base 1000"
|
|
return 0
|
|
if execname == 'auth_eveapicache':
|
|
print "graph_title Auth - Cached EVE API Requests"
|
|
print "graph_vlabel Cached Requests"
|
|
print "graph_category auth"
|
|
print "requests.label Cached Requests"
|
|
print "graph_args --base 1000"
|
|
return 0
|
|
|
|
|
|
if execname == 'auth_apikeys':
|
|
key_count = EVEAccount.objects.filter(api_status=API_STATUS_OK).count()
|
|
print "keys.value %s" % key_count
|
|
elif execname == 'auth_hrapplications':
|
|
view_status = [APPLICATION_STATUS_AWAITINGREVIEW,
|
|
APPLICATION_STATUS_ACCEPTED, APPLICATION_STATUS_QUERY, APPLICATION_STATUS_FLAGGED]
|
|
|
|
corps = EVEPlayerCorporation.objects.filter(applications=True, application__status__in=view_status).annotate(num_apps=Count('application')).values_list('id', 'num_apps')
|
|
for c,n in corps:
|
|
print "%s.value %s" % (c, n)
|
|
elif execname == 'auth_eveapicache':
|
|
print "requests.value %s" % CachedDocument.objects.count()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|