javamelody - monitoring of JavaEE applications The goal of JavaMelody is to monitor Java or Java EE application servers in QA and production environments. It is not a tool to simulate requests from users, it is a tool to measure and calculate statistics on real operation of an application depending on the usage of the application by users. JavaMelody is opensource (ASL) and production ready: in production in an application of 25 person years. JavaMelody is easy to integrate in most applications and is lightweight (no profiling and no database). JavaMelody is mainly based on statistics of requests and on evolution charts. It allows to improve applications in QA and production and helps to: give facts about the average response times and number of executions make decisions when trends are bad, before problems become too serious optimize based on the more limiting response times find the root causes of response times verify the real improvement after optimizations There is a public Demo The JIRA/Confluence/Bamboo plugin is available here
21 Escalations and repeated notifications 1 Overview Zabbix provides effective and extremely flexible functionality for escalations and repeated notifications. Depending on configuration, Zabbix will automatically escalate (increase escalation step) unresolved problems and execute actions assigned to each escalation step. Zabbix supports the following scenarios for escalations, notifications and remote commands: Immediately inform users about new problems Pro-active monitoring, Zabbix executes arbitrary scripts (remote commands) Repeated notifications until problem is resolved Delayed notifications and remote commands Escalate problems to other user groups Different escalation path for acknowledged and unacknowledged problems Execute actions (both notifications and remote commands) if a problem exists for more than N hours (seconds, minutes, etc). 2 Simple messages In order to alert MySQL Administrators about any issues with MySQL applications the following configuration can be used: Note also use of macros in the messages.
Ganglia Monitoring System RedHat / CentOS Install and Configure Cacti Network Graphing Tool Cacti is a network graphing tool similar to MRTG. How do I install and configure common options to collect SNMP data and various other data (such as system load, network link status, hard disk space, logged in users etc) into an RRD? From the official project site: Cacti is a complete frontend to RRDTool, it stores all of the necessary information to create graphs and populate them with data in a MySQL database. The frontend is completely PHP driven. Required software(s) You need to install the following software on RHEL / Fedora / CentOS Linux: MySQL Server : Store cacti data.NET-SNMP server - SNMP (Simple Network Management Protocol) is a protocol used for network management.PHP with net-snmp module - Access SNMP data using PHP.Apache / lighttpd / ngnix webserver : Web server to display graphs created with PHP and RRDTOOL. Install the Cacti software on CentOS / RHEL Configure MySQL server First, set root password: # mysqladmin -u root password NEWPASSWORD Create cacti MySQL database
Virtual Mailhosting System with Postfix Guide The purpose of this guide is to establish a virtual mail system that can handle multiple domains with a variety of different interface options. This is not intended to be used by the average user who is looking for a mail client, this is a full-scale Mail Transfer Agent (MTA) intended for individuals who are hosting their own domains and/or need to provide support for virtual domains. By the end of this guide, you will have an easy method to manage a mail server that supports: Web based system administration Unlimited number of domains Virtual mail users without the need for shell accounts Domain (specific) user names Mailbox quotas Web access to email accounts IMAP and (very optional)POP3 support SMTP Authentication for secure relaying SSL for transport layer security Strong SPAM filtering Anti-Virus filtering Log Analysis The real plus is that all of this is managed by a single database. Getting Started System Setup and Packages Basic Setup Linux 'vmail' user Admin Support Systems
Monitoring Made Easy Hello and welcome to Java-monitor, Java-monitor is the free, on-line monitoring service for Tomcat, Glassfish, JBoss, Jetty and Openfire. We send you an e-mail when you server goes off-line. You can see trends in your JVM memory use, its garbage collectors, your UNIX file descriptors, JVM threads, database connections, Hibernate statistics and much more. From here you can do two things: if you are not sure what Java-monitor is, you can read the information below and look at the live demo to see Java-monitor in action. Once you are confident that Java-monitor is a useful tool, sign up and install Java-monitor on your servers to enjoy the benefits of this free service. Also, be sure to check out the forum and join in the discussion about for example recognizing memory leaks, using Findbugs to find bugs in third-party libraries and resolve strange garbage collector behaviour. Kees Jan Koster -- founder of Java-monitor
Instagram Engineering • Keeping Instagram up with over a million new users in twelve hours Measure Anything, Measure Everything Measure Anything, Measure Everything Posted by Ian Malpass | Filed under data, engineering, infrastructure If Engineering at Etsy has a religion, it’s the Church of Graphs. If it moves, we track it. Sometimes we’ll draw a graph of something that isn’t moving yet, just in case it decides to make a run for it. Application metrics are usually the hardest, yet most important, of the three. Meet StatsD StatsD is a simple NodeJS daemon (and by “simple” I really mean simple — NodeJS makes event-based systems like this ridiculously easy to write) that listens for messages on a UDP port. We like graphite for a number of reasons: it’s very easy to use, and has very powerful graphing and data manipulation capabilities. Not only is it super easy to start capturing the rate or speed of something, but it’s very easy to view, share, and brag about them. Why UDP? So, why do we use UDP to send data to StatsD? Measure Anything Here’s how we do it using our PHP StatsD library: StatsD::increment("grue.dinners");
Cacti로 MySQL 모니터링 및 튜닝 포인트 모니터링 도구로 Nagios, Zabbix, Ganglia 등 많지만, 저는 Cacti를 사용해 왔고(많이 사용한 건 아니지만) 최근 들어 많은 기능이 고도화(알림, 템플릿, 다루기 쉬움)되어서 나름 괜찮다고 생각해 Cacti를 가지고 MySQL을 모니터링하고 일부 튜닝 포인트도 잡을 수 있는 내용으로 기술해 봅니다. 모니터링하기 위해 Cacti를 설치하고, Plugin을 등록하자. 기존에 Cacti 설치 매뉴얼은 여기를 참조하면 설치가 가능하다. 이번에는 추가적으로 자주 활용되는 Cacti Plugin을 더 설치하였다. MySQL 모니터링을 위한 Cacti 템플릿으로 사용한 것은 better-cacti-templates(percona-monitoring-plugins)이다. > vi ss_get_mysql_stats.php $mysql_user = 'cactiuser'; $mysql_pass = 'cactipassword'; $mysql_port = 3306; 그 다음 다운받은 percona-monitoring-plugins Templates를 Cacti UI를 통해 아래와 같이 Import를 해준다. Console -> Import Templates -> Import Template from Local File 에 cacti_host_template_percona_mysql_server_ht_0.8.6i-sver1.0.0.xml 파일을 업로드 한다. 그 다음 MySQL 서버가 Cacti 서버와 분리되어 있다면 Create Devices를 통해 호스트 등록을 하면서 Template과 함께 등록한다. Console -> Devices -> Associated Graph Templates 에서 percona 템플릿 추가한다.Console -> Data Sources Add 버튼을 클릭해서 데이터 소스 등록한다.Console -> Graph Management Graph Add 하고 해당 Data Source 등록한다. MySQL 성능 모니터링 관련 지표들을 몇가지 살펴보면