Search code examples
djangosqlalchemyzabbix

How to make zabbix monitor django apps on an apache server


I have an apache server under Debian that runs several RESTful application written in Python with Django and Piston. These apps use SQLAlchemy to access data from a MySQL server. The server is monitored by Zabbix and I already have metrics for threads running, memory consumption, etc. But there are things that require a little more 'introspection', like the number of active database connections and other info about the connection pool (max and min connections, etc). I searched the web and SO and found nothing in this respect. I don't know much about SQLAlchemy (I'm just using it to make Django support connection pooling), does it have means of exposing the required information? If yes, probably what I want should be easy to implement, since there's a Python lib for Zabbix access. Any recommendations about the implementation?


Solution

  • Fabio,

    I'm also using the Python API wrapper for deployment automation, but MySQLBix seems the most effortless way to offer you what you're looking for.

    • DBVersion (and relative validity of package)
    • Archive ( archive log production with relative trend)
    • EventWaits (monitor Files I/O,single block read, multiblock read, direct path read,SQLNet messages, Controlfile I/O,LogWrite)
    • HitRatio (monitor Hit Ratio on Trigger, Tables/Procedures, SQLArea,Body)
    • Logical I/O (monitor Logical I/O values of : Current Read, Consistent Read, Block Change)
    • PGA
    • SGA (in particolar: Fixed Buffer, Java Pool, Large Pool, Log Buffer,Shared Pool,Buffer Cache)
    • Physical I/O (Redo Writes,Datafiles Writes,Datafiles Read)
    • SharedPool (Pool Dictionary Cache, Pool Free Memory, Library Cache,Sql Area ,Misc.)
    • Pin Hit Ratio (monitor Hit Ratio on Trigger, Tables/Procedures, SQLArea,Body)
    • Session/Processes (monitor Sessions and processes)
    • Session (Active Session, Inactive Sessions, System Session)