also the basis of all optimization. Using graphite and Grafana as a third-party monitoring system, Hulu sends key performance parameters in the system, such as calculation time and number of times, to the graphite server to see the intuitive charts on the Grafana Web page.Figure 4:
can be configured to import STATSD data into graphite and use graphite web to view the process such as:
The experimental environment for Ubuntu 16.04.1:
$ uname -rmntonybai-ThinkCentre-M6600s-N000 4.4.0-83-generic x86_64
Second, the construction steps
1. Install Go-runtime-metrics Library
We can download the Go-runtime-metrics library directly from the go get:
$ go get github.com/bmhatfield/go-runtime-met
Docker itself, we also encountered some pits. Here are some of them:
Docker Volume Plugin does not support getting Volume usage state data
Docker Volume Plugin exists file descriptor leaks bug--https://github.com/docker/docker/pull/20686
Swarm regular list will accidentally trigger Docker volume cache bug-https://github.com/docker/docker/issues/21403
About container MonitoringContainer monitoring in this project can also have a lot of room to improve. The project is Cadvisor,
part of every cloud service. (Click to read "Why is kubernetes so popular")
Hugo: Is the most popular open source static Web engine at the moment. Hugo's amazing speed and flexibility make building a Web site fun again. According to W3techs,hugo currently has a near-dominant Jekyll 3 times times the application. (GitHub address: Https://github.com/gohugoio/hugo)
Prometheus: A combination of open source monitoring solutions and time-series databases that reinforces metrics and alert design to
constant, so that data migration is not necessary.MonitoringCeph's own calamari is good, but not practical enough, and its deployment, packaging is not perfect, there are some bugs on CentOS, we can only continue to use the original tools.
Collect: Use diamond to add new Colloctor to collect more detailed data.
Save: Use graphite, set the acquisition accuracy and save precision.
Show: Use Grafana
its Update method to renew the value.this//update the histogram with the input data TimerA timer is a combination of histogram and meter, such as the rate at which the current request is being counted and the processing time.You can define a timer:measure the time rate and duration of requests // Metric . Timer ("Requests"Unit.) requests);When used, call the Newcontext of the timer. (This//measure until disposed{ ...}two output of metric dataAfter collecting so much data, we need to show
. Based on HTML5, allows large screen display in data center or conference room.
Diamond-Python-based statistics collection daemon
Ganglia-high performance, scalable monitoring device based on RRD servers for grids and/or clusters. Compatible with graphite, using a single collection process.
Grafana-A graphite or influxdb dashboard and graphics editor
real time. Metric provides a variety of data reporting interfaces. Including the Metrics.NET.FlotVisualization, as well as the output to the professional system monitoring graphite, output to open source, distributed, time series in the Influxdb, or output to Elasticsearch. It is also very simple to configure. For example, if you want to display directly on an HTTP page, simply set the appropriate endpoint when initializing:Metric.config . Withhtt
JavaScript library for visualizing complex networks; Dc.js: Dimension chart, used with Crossfilter, is rendered by d3.js, which is more adept at connecting graphs/additional metadata, thus hovering around D3 events; D3: JavaScript library for manipulating files; D3.compose: Complex, data-driven visualizations from reusable diagrams and components; D3plus: A fairly powerful set of reusable charts, as well as a d3.js style; Echarts: Baidu Enterprise Scene chart; ENVISIONJS: Dynamic HTML5 vi
-enterprise-class software for monitoring of networks and applications.
Zabbix-Enterprise-class software for monitoring networks and applications
Zenoss-Zope-based application, server and network management platform
Metrics and Metrics CollectionMetric collection and display software
COLLECTD-System Statistics Collection Daemon
COLLECTL-High precision system performance metrics collection tool.
Dashing-ruby Gem, allows rapid development of statistical dashboards. Based on H
Zenoss-Zope-based application, server and network management platform
Metrics and Metrics CollectionMetric collection and display software
COLLECTD-System Statistics Collection Daemon
COLLECTL-High precision system performance metrics collection tool.
Dashing-ruby Gem, allows rapid development of statistical dashboards. Based on HTML5, allows large screen display in data center or conference room.
Diamond-Python-based statistics collection daemon
The ganglia– is base
.
First, in some respects, monitoring is still poor and this will be explained in more detail below.
Second, monitoring is still a problem because more and more companies are starting to turn to MicroServices (microservices).
What monitoring tools are being used by the enterprise?Although many new tools have emerged in the market since 2011, many "old" open source tools, such as Nagios and Zabbix, still dominate the market. The interview found that 70% of companies are still us
intelligent, root cause analysis and prediction of an application of the QPS trend, pre-HPA and so on, of course, this is now popular aiops category.
Prometheus Data Persistence Scheme
Solution Selection
Support for Prometheus remote read and write programs in the community
Appoptics:write
Chronix:write
Cortex:read and Write
Cratedb:read and Write
Elasticsearch:write
Gnocchi:write
Graphite:write
Influxdb:read and Write
Opentsdb:write
Postgresql/timescaledb:r
One, micro-service architecture diagram:Second, Technical Introduction: (Technology selection as the code will be completed)about the technology selection, I stole a micro-service technology stack diagram, as follows: Original:http://www.jianshu.com/p/2da6becfb019I will use the following techniques in
Service Registration and service discovery: Consul
Service Health Check: Consul
Configuration management: Consul, Archaius
Cluster fault tolerance: Hystrix
Count monitoring
For the storage of time series, a special time series database is used instead of MySQL or MONGO (but Zabbix is the MySQL used, so it encounters a bottleneck on Io). Now there are a lot of databases of time series, such as Graphite, OPENTSDB and the new influxdb. These three databases have been studied recently, and the Institute is now recorded. Graphite
Graphite
CentOS7 Performance Monitoring System Installation
Directory
System description.
Development environment.
Before.
Install the influxdb database.
Install collectd
Install Grafana
FAQ
Influxdb web interface does not respond.
System descriptionTo create a beautiful real-time monitoring system like New Relic, we only need the three InfluxDB, collectd, and Grafana tools. The relationship between these three tool
Heapster is a container cluster monitoring and performance analysis tool that naturally supports kubernetes and CoreOS.Kubernetes has a well-known surveillance agent-cadvisor. The cadvisor is run on each kubernetes node, and it collects monitoring data (cpu,memory,filesystem,network,uptime) for both native and container.In the newer version, K8S has integrated the Cadvisor functionality into the Kubelet component. Each node can be accessed directly from the Web.1. Image download[Email protected]
installed features. By default, the tool creates a Gke alpha cluster with the specified settings, and then installs the Istio control surface, BookInfo the sample application, Grafana and Prometheus,servicegraph, and Zipkin. You'll find out more about how to access all of these below.
Istio Gke Deployment Management
Click to deploy:
Gke-istio Launcher
Wait until Istio is fully deployed. Please note that this may take five minutes.
Bootstrap Gcloud
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.