MySQL Monitoring Shoot Out
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

MySQL Monitoring Shoot Out

  • 25,337 views
Uploaded on

My Talk about Monitoring MySQL as a component in your environment in the ...

My Talk about Monitoring MySQL as a component in your environment in the
MySQL Devroom at Fosdem 2009

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • mysql
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
25,337
On Slideshare
23,112
From Embeds
2,225
Number of Embeds
9

Actions

Shares
Downloads
296
Comments
1
Likes
10

Embeds 2,225

http://www.krisbuytaert.be 2,106
http://www.slideshare.net 101
http://krisbuytaert.be 9
http://translate.googleusercontent.com 4
http://static.slideshare.net 1
http://tagitha.com 1
http://74.125.45.132 1
http://webcache.googleusercontent.com 1
http://www.e-presentations.us 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Monitoring MySQL the open source way
  • 2. Kris Buytaert
    • Senior Linux and Open Source Consultant @inuits.be
    (sorry no P)
    • „ Infrastructure Architect“
    • 3. Linux since 0.98
    • 4. OpenMosix, openQRM, ...
    • 5. Early Adopter (Xen, MySQL Cluster)
    • 6. Automating Large Scale Deployment , High Availability
    • 7. Surviving the 10 th floor test
    • 8. http://www.krisbuytaert.be/blog/
    • 9. http://www.virtualization.com/
  • 10. Why this talk
    • Monitoring ++
    • 11. 2008 OLS Talk/Study about Monitoring in General
    • 12. Beyond Geert's Nagiostalk :)
    • 13. 2009 Refocus Study on MySQL
    • 14. DBA vs Devministrator
  • 15. In This Talk
    • Monitoring ?
    • 16. Monitoring MySQL
      • as a part of your Infrastructure
      • 17. with Open Source tools
    In This Talk Not in This Talk
    • In depth Monitoring MySQL Cluster
    • 18. Monitoring MySQL With commercial tools
    • 19. A zillion standalone MySQL tools compared
    • 20. The solution to all your problems
  • 21. Do you know what your children do at 5 am in the morning ?
    • Are they asleep
    • 22. Or Crashing at a party ?
    • 23. Did something happen to them ?
    • 24. How long have they been gone already ?
    • 25. Why are there cops at your front door ?
  • 26. Do you know what your servers are doing at 5 am in the morning ?
    • You can't afford to be down
    • 27. You can't afford to be slow
    • 28. Systems grow and scale beyond manual/human capacity
    • 29. Plan for growth
    • 30. Good admins know how their systems behave
    • 31. And what's abnormal systems behaviour
  • 32. Monitoring
  • 37. Alerts / Notifications
    • Send a Warning Signal
      • Email, SMS , xmpp , other
    • Choose based on situation
      • Based on time
      • 38. Based on service
      • 39. Based on state of system
    • Escalation
    • 40. SLA
  • 41. Reporting
  • 46. Trending
    • Chart the data
    • 47. A Visionary approach
    • 48. Find Anomalies
    • 49. Plan for Growth
  • 50. Agent(less)
    • Agent Based
      • Impact on Measurement
      • 51. More detailed information
      • 52. Often Big performance penalty
    • Agent Less
      • Non intrusive
      • 53. Less detail
    • SNMP
  • 54. Agent(less) In MySQL
    • Through Proxy
    • 55. By Sniffing Queries
    • 56. On the Host
    • 57. On a “modified” mysqld
  • 58. What do you want from a tool ?
  • 70. What do you want from a tool ? Regarding MySQL
  • 81. Isolated vs Integrated tool
    • Isolated :
      • Quick Debugging
      • 82. Development platforms
    • Integrated :
      • The Bigger Picture
      • 83. Trends
      • 84. Find the Real Cause
  • 85. A Zillion MySQL Focussed Tools
  • 93. One tool to Monitor Cluster
    • All dump 1000 ?
    • 94. Ugly Line wraps ?
    • CMON
    • Afaik none of the current general tools has native support for Monitoring Cluster
  • 95. Integrated Monitoring : The Initial Contenders
  • 103. Initial Experience
    • First Phase
    • 104. Setup Different Tools/Platforms
    • 105. Initial Feeling
    • 106. Installation Experience
  • 107. Who made the Cut ?
  • 111. Nagios
    • The “Standard”
    • 112. A zillion tools based on it
    • 113. Awkward config for the newbie
    • 114. Very configurable
    • 115. Very Pluggable
    • 116. Great ecosystem
    • 117. Often integrated with Cacti
  • 118. Nagios : MySQL
    • Nothing by default
    • 119. NagiosExchange lists 69 plugins
      • Replication checks
      • 120. Nagios Stats
      • 121. MySQL Perf ( http://www.consol.com/opensource/nagios/check-mysql-perf/ )
    • Ask Geert for more :)
  • 122. Cacti : MySQL
    • Baron Schwartz: http://code.google.com/p/mysql-cacti-templates/
  • 123. Nagios : Conclusion
    • Con:
      • “ steep” learning curve
      • 124. No Default mysql support
      • 125. Different unmaintained contributions to choose from
    • Pro:
      • The Standard
      • 126. Giant Community (nagiosexchange, ...) to choose from :)
  • 127. Zenoss
    • Integrated package featuring
    • Zope Based
    • 131. SNMP for Autodetection
    • 132. Based on standard protocols
    • 133. Open Core
  • 134. Zenoss
    • 3 part Architecture
      • Web Console / Portal : visualizes data
      • 135. Process Layer : daemons collect data
          • ZenPing, ZenProcess, ZenSyslog, ZenEventlog ...
      • Data Layer : stores data
    • Data is stored in 3 places
      • CMDB (Configuration Management DB) : Zope
      • 136. Historical data : RRD
      • 137. Events : MySQL
  • 138.  
  • 139. Zenoss Monitoring methods/tools
    • SNMP
    • 140. Nagios plugins
    • 141. Custom commands
    • 142. ZenPacks: User commands, Perf templates, Graphs ...
  • 143. Zenoss : MySQL
    • “Nothing” by default
    • 144. Nagios Plugins can be used
  • 145. Zenoss MySQLMonitor ZenPack
    • Command Statistics (SELECT, INSERT, UPDATE, DELETE)
    • 146. Select Statistics (Scan, Range Check, Range Join, Full Join)
    • 147. Handler Statistics (Keyed & Unkeyed Reads, Writes, Updates, Deletes)
    • 148. Network Traffic (Received & Sent)
  • 149. Zenoss MySQLMonitor ZenPack
  • 150. Zenoss MySQLMonitor ZenPack
  • 151. Zenoss Conclusion
    • Con:
      • Help I`m lost
      • 152. Commercial features missing
    • Pro:
      • Scalabilty: multiple collectors
      • 153. MySQL Zenpack
  • 154. HypericHQ
    • Heavy Weight
    • 155. Agent Based (Heavy)
    • 156. Java
    • 157. Autodiscovery (of services)
    • 158. SIGAR (System Information Gatherer and Reporter)
  • 159. HypericHQ
    • Quick setup
    • 160. Inside the applications
        • Real focus towards application monitoring
        • 161. Focus on State
        • 162. Focus on functionality
    • Great to do debugging
  • 163. Hyperic Overview
    • Server/Agent method
    • 164. Focusses strongly on application/db/ performance
    • 165. Grouping of servers/services
    • 166. Very nice Dashboard!
  • 167. Hyperic Inside the Apps
    • Default installed plugins :
      • MySQL
        • Table level
        • 168. Row count, qps, table size
      • PostgresQL
        • same
      • Jboss
        • Inside the JMX
        • 169. Deployed WARS
  • 170. Hyperic Inside the Apps
  • 171. Hyperic Inside the Apps
  • 172. Hyperic Inside the Apps
  • 173. Hyperic Inside the Apps
  • 174. Hyperic Conclusion
    • Con:
      • Help , I'm lost !
      • 175. Lots of NTH features in Commercial Version
      • 176. Not for your typical LAMP shop
    • Pro:
      • Very nice/simple/straight forward
      • 177. “ Low” on java-memory, very responsive webfrontend, not 'sluggish' at all
      • 178. Goes DEEP Inside the Application
      • 179. MySQL / PgSQL out of the Box
  • 180. Zabbix
    • “LightWeight”
    • 181. Multi Tier
    • Template based
  • 184. Zabbix
    • Find the right package for your distro = smooth installation
    • 185. “Auto detects” agents
    • 186. Create your own screens
  • 187. Zabbix Monitoring methods/tools
  • 193. Zabbix Features
    • Alerting
      • Harder to configure notifications
      • 194. No sign of escalation (planned)
    • Reporting
      • Customizable layouts
    • Trending
      • Slideshow mode
      • 195. Correlation of different graphs
  • 196. Zabbix MySQL
    • Agent has checks disabled
    • 197. Needs uncommenting
    ### Set of parameter for monitoring MySQL server (v3.23.42 and later) ### Change -u<username> and add -p<password> if required UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc -l UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d&quot;:&quot;|cut -f1 -d&quot;T&quot; UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d&quot;:&quot;|cut -f1 -d&quot;Q&quot; UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d&quot;:&quot;|cut -f1 -d&quot; S&quot; UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d&quot;:&quot;|cut -f1 -d&quot;O&quot; UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d&quot;:&quot; UserParameter=mysql.version,mysql -V
  • 198. Beyond the Default Zabbix
    • Zabbix Wiki : Heavy /Extensive MySQL Monitoring
      • Consolidates zillion tools in 1
      • 199. Sends those checks to Zabbix
      • 200. mysql.php script
        • Any value
        • 201. Replication Slave/Master
    • Others exist, but aren't published
  • 202. Zabbix MySQL
  • 203. Zabbix MySQL
  • 204. Zabbix MySQL
  • 205. Zabbix Conclusion
    • Con:
      • Pretty cumbersome to configure
      • 206. Important features missing ( but planned in next version ): escalation, better reporting ,....
    • Pro:
      • Lightweight both server and agents
      • 207. Fully Integrated
      • 208. Screens : Correlation of graphs
  • 209. Conclusion
    • Choose yourself
    • We are using mostly
  • 212. ` Kris Buytaert < [email_address] > Further Reading http://www.krisbuytaert.be/blog/ http://www.inuits.be/ http://www.virtualization.com/ http://www.oreillygmt.com/ ? !