Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÈçºÎÔÚUbuntuÉÏʹÓÃGrafana¼à¿ØDocker
 
 À´Ô´;51CTO  ·¢²¼ÓÚ 2016-11-17
  1962  次浏览      30
 

Grafana ÊÇÒ»¸öÓÐ×ŷḻָ±êµÄ¿ªÔ´¿ØÖÆÃæ°å¡£ÔÚ¿ÉÊÓ»¯´ó¹æÄ£²âÁ¿Êý¾ÝµÄʱºòÊǷdz£ÓÐÓõġ£¸ù¾Ý²»Í¬µÄÖ¸±êÊý¾Ý£¬ËüÌṩÁËÒ»¸öÇ¿´ó¡¢ÓÅÑŵÄÀ´´´½¨¡¢·ÖÏíºÍä¯ÀÀÊý¾ÝµÄ·½Ê½¡£

ËüÌṩÁ˷ḻ¶àÑù¡¢Áé»îµÄͼÐÎÑ¡Ïî¡£´ËÍ⣬Õë¶ÔÊý¾ÝÔ´(Data Source)£¬ËüÖ§³ÖÐí¶à²»Í¬µÄ´æ´¢ºó¶Ë¡£Ã¿¸öÊý¾ÝÔ´¶¼ÓÐÕë¶ÔÌØ¶¨Êý¾ÝÔ´µÄÌØÐԺ͹¦ÄÜËù¶¨ÖƵIJéѯ±à¼­Æ÷¡£Grafana ÌṩÁ˶ÔÏÂÊöÊý¾ÝÔ´µÄÕýʽ֧³Ö£ºGraphite¡¢InfluxDB¡¢OpenTSDB¡¢ Prometheus¡¢Elasticsearch ºÍ Cloudwatch¡£

ÿ¸öÊý¾ÝÔ´µÄ²éѯÓïÑÔºÍÄÜÁ¦ÏÔÈ»ÊDz»Í¬µÄ£¬Äã¿ÉÒÔ½«À´×Ô¶à¸öÊý¾ÝÔ´µÄÊý¾Ý»ìºÏµ½Ò»¸öµ¥Ò»µÄÒDZíÅÌÉÏ£¬µ«Ã¿¸öÃæ°å(Panel)±»°ó¶¨µ½ÊôÓÚÒ»¸öÌØ¶¨×éÖ¯(Organization)µÄÌØ¶¨Êý¾ÝÔ´ÉÏ¡£ËüÖ§³ÖÑéÖ¤µÇ¼ºÍ»ùÓÚ½ÇÉ«µÄ·ÃÎÊ¿ØÖÆ·½°¸¡£ËüÊÇ×÷Ϊһ¸ö¶ÀÁ¢Èí¼þ²¿Êð£¬Ê¹Óà Go ºÍ JavaScript ±àдµÄ¡£

ÔÚÕâÆªÎÄÕ£¬ÎÒ½«½²½âÈçºÎÔÚ Ubuntu 16.04 Éϰ²×° Grafana ²¢Ê¹ÓÃÕâ¸öÈí¼þÅäÖà Docker ¼à¿Ø¡£

ÏȾöÌõ¼þ

°²×°ºÃ Docker µÄ·þÎñÆ÷

°²×° Grafana

ÎÒÃÇ¿ÉÒÔÔÚ Docker Öй¹½¨ÎÒÃÇµÄ Grafana¡£ ÓÐÒ»¸ö¹Ù·½ÌṩµÄ Grafana Docker ¾µÏñ¡£ÇëÔËÐÐÏÂÊöÃüÁîÀ´¹¹½¨Grafana ÈÝÆ÷¡£

root@ubuntu:~# docker run -i -p 3000:3000 grafana/grafana

Unable to find image 'grafana/grafana:latest' locally

latest: Pulling from grafana/grafana

5c90d4a2d1a8: Pull complete

b1a9a0b6158e: Pull complete

acb23b0d58de: Pull complete

Digest: sha256:34ca2f9c7986cb2d115eea373083f7150a2b9b753210546d14477e2276074ae1

Status: Downloaded newer image for grafana/grafana:latest

t=2016-07-27T15:20:19+0000 lvl=info msg="Starting Grafana"

logger=main version=3.1.0 commit=v3.1.0 compiled=2016-07-12T06:42:28+0000

t=2016-07-27T15:20:19+0000 lvl=info msg="Config loaded from"

logger=settings file=/usr/share/grafana/conf/defaults.ini

t=2016-07-27T15:20:19+0000 lvl=info msg="Config loaded from"

logger=settings file=/etc/grafana/grafana.ini

t=2016-07-27T15:20:19+0000 lvl=info msg="Config overriden from

command line" logger=settings arg="default.paths.data=/var/lib/grafana"

t=2016-07-27T15:20:19+0000 lvl=info msg="Config overriden from command

line" logger=settings arg="default.paths.logs=/var/log/grafana"

t=2016-07-27T15:20:19+0000 lvl=info msg="Config overriden from command

line" logger=settings arg="default.paths.plugins=/var/lib/grafana/plugins"

t=2016-07-27T15:20:19+0000 lvl=info msg="Path Home" logger=settings

path=/usr/share/grafana

t=2016-07-27T15:20:19+0000 lvl=info msg="Path Data" logger=settings

path=/var/lib/grafana

t=2016-07-27T15:20:19+0000 lvl=info msg="Path Logs" logger=settings

path=/var/log/grafana

t=2016-07-27T15:20:19+0000 lvl=info msg="Path Plugins" logger=settings

path=/var/lib/grafana/plugins

t=2016-07-27T15:20:19+0000 lvl=info msg="Initializing DB" logger=sqlstore

dbtype=sqlite3

t=2016-07-27T15:20:20+0000 lvl=info msg="Executing migration" logger=migrator

id="create playlist table v2"

t=2016-07-27T15:20:20+0000 lvl=info msg="Executing migration" logger=migrator

id="create playlist item table v2"

t=2016-07-27T15:20:20+0000 lvl=info msg="Executing migration" logger=migrator

id="drop preferences table v2"

t=2016-07-27T15:20:20+0000 lvl=info msg="Executing migration" logger=migrator

id="drop preferences table v3"

t=2016-07-27T15:20:20+0000 lvl=info msg="Executing migration" logger=migrator

id="create preferences table v3"

t=2016-07-27T15:20:20+0000 lvl=info msg="Created default admin user: [admin]"

t=2016-07-27T15:20:20+0000 lvl=info msg="Starting plugin search" logger=plugins

t=2016-07-27T15:20:20+0000 lvl=info msg="Server Listening" logger=server

address=0.0.0.0:3000 protocol=http subUrl=

 

ÎÒÃÇ¿ÉÒÔͨ¹ýÔËÐдËÃüÁîÈ·ÈÏ Grafana ÈÝÆ÷µÄ¹¤×÷״̬ docker ps -a »òͨ¹ýÕâ¸öURL·ÃÎÊ http://Docker IP:3000¡£

ËùÓÐµÄ Grafana ÅäÖÃÉèÖö¼Ê¹Óû·¾³±äÁ¿¶¨Ò壬ÔÚʹÓÃÈÝÆ÷¼¼ÊõʱÕâ¸öÊǷdz£ÓÐÓõġ£Grafana ÅäÖÃÎļþ·¾¶Îª /etc/grafana/grafana.ini¡£

Àí½âÅäÖÃÏî

Grafana ¿ÉÒÔÔÚËüµÄ ini ÅäÖÃÎļþÖÐÖ¸¶¨¼¸¸öÅäÖÃÑ¡Ï»ò¿ÉÒÔʹÓÃÇ°ÃæÌáµ½µÄ»·¾³±äÁ¿À´Ö¸¶¨¡£

ÅäÖÃÎļþλÖÃ

ͨ³£ÅäÖÃÎļþ·¾¶£º

ĬÈÏÅäÖÃÎļþ·¾¶ : $WORKING_DIR/conf/defaults.ini

×Ô¶¨ÒåÅäÖÃÎļþ·¾¶ : $WORKING_DIR/conf/custom.ini

PS£ºµ±ÄãʹÓà deb¡¢rpm »ò docker ¾µÏñ°²×° Grafana ʱ£¬ÄãµÄÅäÖÃÎļþÔÚ /etc/grafana/grafana.ini¡£

Àí½âÅäÖñäÁ¿

ÏÖÔÚÎÒÃÇ¿´Ò»Ð©ÅäÖÃÎļþÖеıäÁ¿£º

instance_name£ºÕâÊÇ Grafana ·þÎñÆ÷ʵÀýµÄÃû×Ö¡£Ä¬ÈÏÖµ´Ó ${HOSTNAME} »ñÈ¡£¬ÆäÖµÊÇ»·¾³±äÁ¿HOSTNAME£¬Èç¹û¸Ã±äÁ¿Îª¿Õ»ò²»´æÔÚ£¬Grafana ½«»á³¢ÊÔʹÓÃϵͳµ÷ÓÃÀ´»ñÈ¡»úÆ÷Ãû¡£

[paths]£ºÕâЩ·¾¶Í¨³£¶¼ÊÇÔÚ init.d ½Å±¾»ò systemd service ÎļþÖÐͨ¹ýÃüÁîÐÐÖ¸¶¨¡£

data£ºÕâ¸öÊÇ Grafana ´æ´¢ sqlite3 Êý¾Ý¿â(Èç¹ûʹÓÃ)¡¢»ùÓÚÎļþµÄ»á»°(Èç¹ûʹÓÃ)£¬ºÍÆäËûÊý¾ÝµÄ·¾¶¡£

logs£ºÕâ¸öÊÇ Grafana ´æ´¢ÈÕÖ¾µÄ·¾¶¡£

[server]

http_addr£ºÓ¦ÓüàÌýµÄ IP µØÖ·£¬Èç¹ûΪ¿Õ£¬Ôò¼àÌýËùÓеĽӿڡ£

http_port£ºÓ¦ÓüàÌýµÄ¶Ë¿Ú£¬Ä¬ÈÏÊÇ 3000£¬Äã¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁÄãµÄ 80 ¶Ë¿ÚÖØ¶¨Ïòµ½ 3000 ¶Ë¿Ú£º$iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000

root_url : Õâ¸ö URL ÓÃÓÚ´Óä¯ÀÀÆ÷·ÃÎÊ Grafana ¡£

cert_file : Ö¤ÊéÎļþµÄ·¾¶(Èç¹ûЭÒéÊÇ HTTPS)¡£

cert_key : Ö¤ÊéÃÜÔ¿ÎļþµÄ·¾¶(Èç¹ûЭÒéÊÇ HTTPS)¡£

[database]£ºGrafana ʹÓÃÊý¾Ý¿âÀ´´æ´¢Óû§ºÍÒDZíÅÌÒÔ¼°ÆäËûÐÅÏ¢£¬Ä¬ÈÏÅäÖÃΪʹÓÃÄÚǶÔÚ Grafana Ö÷¶þ½øÖÆÎļþÖÐµÄ SQLite3¡£

type£ºÄã¿ÉÒÔ¸ù¾ÝÄãµÄÐèÇóÑ¡Ôñ MySQL¡¢Postgres¡¢SQLite3¡£

path£º½öÓÃÓÚÑ¡Ôñ SQLite3 Êý¾Ý¿âʱ£¬Õâ¸öÊÇÊý¾Ý¿âËù´æ´¢µÄ·¾¶¡£

host£º½öÊÊÓà MySQL »òÕß Postgres¡£Ëü°üÀ¨ IP µØÖ·»òÖ÷»úÃûÒÔ¼°¶Ë¿Ú¡£ÀýÈ磬Grafana ºÍ MySQL ÔËÐÐÔÚͬһ̨Ö÷»úÉÏÉèÖÃÈ磺 host = 127.0.0.1:3306¡£

name£ºGrafana Êý¾Ý¿âµÄÃû³Æ£¬°ÑËüÉèÖÃΪ Grafana »òÆäËüÃû³Æ¡£

user£ºÊý¾Ý¿âÓû§(²»ÊÊÓÃÓÚ SQLite3)¡£

password£ºÊý¾Ý¿âÓû§ÃÜÂë(²»ÊÊÓÃÓÚ SQLite3)¡£

ssl_mode£º¶ÔÓÚ Postgres£¬Ê¹Óà disable£¬require£¬»ò verify-full µÈÖµ¡£¶ÔÓÚ MySQL£¬Ê¹Óà true£¬false£¬»ò skip-verify¡£

ca_cert_path£º(Ö»ÊÊÓÃÓÚ MySQL)CA Ö¤ÊéÎļþ·¾¶£¬ÔÚ¶àÊý Linux ϵͳÖУ¬Ö¤Êé¿ÉÒÔÔÚ /etc/ssl/certs ÕÒµ½¡£

client_key_path£º(Ö»ÊÊÓÃÓÚ MySQL)¿Í»§¶ËÃÜÔ¿µÄ·¾¶£¬Ö»ÔÚ·þÎñ¶ËÐèÒªÓû§¶ËÑé֤ʱʹÓá£

client_cert_path£º(Ö»ÊÊÓÃÓÚ MySQL)¿Í»§¶ËÖ¤ÊéµÄ·¾¶£¬Ö»ÔÚ·þÎñ¶ËÐèÒªÓû§¶ËÑé֤ʱʹÓá£

server_cert_name£º(Ö»ÊÊÓÃÓÚ MySQL)MySQL ·þÎñ¶ËʹÓõÄÖ¤ÊéµÄͨÓÃÃû³Æ×ֶΡ£Èç¹û ssl_mode ÉèÖÃΪ skip-verify ʱ¿ÉÒÔ²»ÉèÖá£

[security]

admin_user£ºÕâ¸öÊÇ Grafana ĬÈϵĹÜÀíÔ±Óû§µÄÓû§Ãû£¬Ä¬ÈÏÉèÖÃΪ admin¡£

admin_password£ºÕâ¸öÊÇ Grafana ĬÈϵĹÜÀíÔ±Óû§µÄÃÜÂ룬ÔÚµÚÒ»´ÎÔËÐÐʱÉèÖã¬Ä¬ÈÏΪ admin¡£

login_remember_days£º±£³ÖµÇ¼/¼ÇסÎҵijÖÐøÌìÊý¡£

secret_key£ºÓÃÓÚ±£³ÖµÇ¼/¼ÇסÎÒµÄ cookies µÄÇ©Ãû¡£

ÉèÖÃ¼à¿ØµÄÖØÒª×é¼þ

ÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæµÄ×é¼þÀ´´´½¨ÎÒÃÇµÄ Docker ¼à¿ØÏµÍ³¡£

cAdvisor£ºËü±»³ÆÎª Container Advisor¡£Ëü¸øÓû§ÌṩÁËÒ»¸ö×ÊÔ´ÀûÓúÍÐÔÄÜÌØÕ÷µÄ½â¶Á¡£Ëü»áÊÕ¼¯¡¢¾ÛºÏ¡¢´¦Àí¡¢µ¼³öÔËÐÐÖеÄÈÝÆ÷µÄÐÅÏ¢¡£Äã¿ÉÒÔͨ¹ýÕâ¸öÎĵµÁ˽â¸ü¶à¡£

InfluxDB£ºÕâÊÇÒ»¸ö°üº¬ÁËʱ¼äÐòÁС¢¶ÈÁ¿ºÍ·ÖÎöÊý¾Ý¿â¡£ÎÒÃÇʹÓÃÕâ¸öÊý¾ÝÔ´À´ÉèÖÃÎÒÃÇµÄ¼à¿Ø¡£cAdvisor ֻչʾʵʱÐÅÏ¢£¬²¢²»±£´æÕâЩ¶ÈÁ¿ÐÅÏ¢¡£Influx Db °ïÖú±£´æ cAdvisor ÌṩµÄ¼à¿ØÊý¾Ý£¬ÒÔչʾ·Çijһʱ¶ÎµÄÊý¾Ý¡£

Grafana Dashboard£ºËü¿ÉÒÔ°ïÖúÎÒÃÇÔÚÊÓ¾õÉÏÕûºÏËùÓеÄÐÅÏ¢¡£Õâ¸öÇ¿´óµÄÒDZíÅÌʹÎÒÃÇÄܹ»Õë¶Ô InfluxDB Êý¾Ý´æ´¢½øÐвéѯ²¢½«ËûÃÇ·ÅÔÚÒ»¸ö²¼¾ÖºÏÀíºÃ¿´µÄͼ±íÖС£

Docker ¼à¿ØµÄ°²×°

ÎÒÃÇÐèÒªÒ»²½Ò»²½µÄÔÚÎÒÃÇµÄ Docker ϵͳÖа²×°ÒÔÏÂÿһ¸ö×é¼þ£º

°²×° InfluxDB

ÎÒÃÇ¿ÉÒÔʹÓÃÕâ¸öÃüÁîÀ´À­È¡ InfluxDB ¾µÏñ£¬²¢²¿ÊðÁË influxDB ÈÝÆ÷¡£

root@ubuntu:~# docker run -d -p 8083:8083 -p 8086:8086 --expose

8090 --expose 8099 -e PRE_CREATE_DB=cadvisor --name influxsrv tutum/influxdb:0.8.8

Unable to find image 'tutum/influxdb:0.8.8' locally

0.8.8: Pulling from tutum/influxdb

a3ed95caeb02: Already exists

23efb549476f: Already exists

aa2f8df21433: Already exists

ef072d3c9b41: Already exists

c9f371853f28: Already exists

a248b0871c3c: Already exists

749db6d368d0: Already exists

7d7c7d923e63: Pull complete

e47cc7808961: Pull complete

1743b6eeb23f: Pull complete

Digest: sha256:8494b31289b4dbc1d5b444e344ab1dda3e18b07f80517c3f9aae7d18133c0c42

Status: Downloaded newer image for tutum/influxdb:0.8.8

d3b6f7789e0d1d01fa4e0aacdb636c221421107d1df96808ecbe8e241ceb1823

-p 8083:8083 : user interface, log in with username-admin, pass-admin

-p 8086:8086 : interaction with other application

--name influxsrv : container have name influxsrv, use to cAdvisor link it.

 

Äã¿ÉÒÔ²âÊÔ InfluxDB ÊÇ·ñ°²×°ºÃ£¬Í¨¹ý·ÃÎÊÕâ¸ö URL http://ÄãµÄ IP µØÖ·:8083£¬Óû§ÃûºÍÃÜÂë¶¼ÊÇ ¡±root¡°¡£

InfluxDB Administration 2016-08-01 14-10-08

ÎÒÃÇ¿ÉÒÔÔÚÕâ¸ö½çÃæÉÏ´´½¨ÎÒÃÇËùÐèµÄÊý¾Ý¿â¡£

createDB influx

°²×° cAdvisor

ÎÒÃǵÄÏÂÒ»¸ö²½ÖèÊǰ²×° cAdvisor ÈÝÆ÷£¬²¢½«ÆäÁ´½Óµ½ InfluxDB ÈÝÆ÷¡£Äã¿ÉÒÔʹÓôËÃüÁîÀ´´´½¨Ëü¡£

root@ubuntu:~# docker run --volume=/:/rootfs:ro --volume

=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=

/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080

--detach=true --link influxsrv:influxsrv --name=cadvisor

google/cadvisor:latest -storage_driver_db=cadvisor

-storage_driver_host=influxsrv:8086

Unable to find image 'google/cadvisor:latest' locally

latest: Pulling from google/cadvisor

09d0220f4043: Pull complete

151807d34af9: Pull complete

14cd28dce332: Pull complete

Digest: sha256:8364c7ab7f56a087b757a304f9376c3527c8c60c848f82b66dd728980222bd2f

Status: Downloaded newer image for google/cadvisor:latest

3bfdf7fdc83872485acb06666a686719983a1172ac49895cd2a260deb1cdde29

root@ubuntu:~#

--publish=8080:8080 : user interface

--link=influxsrv:influxsrv: link to container influxsrv

-storage_driver=influxdb: set the storage driver as InfluxDB

Specify what InfluxDB instance to push data to:

-storage_driver_host=influxsrv:8086: The ip:port of the

database. Default is ¡®localhost:8086¡¯

-storage_driver_db=cadvisor: database name. Uses db

¡®cadvisor¡¯ by default

 

Äã¿ÉÒÔͨ¹ý·ÃÎÊÕâ¸öµØÖ·À´²âÊÔ°²×° cAdvisor ÊÇ·ñÕý³£ http://ÄãµÄ IP µØÖ·:8080¡£ Õ⽫ΪÄãµÄ Docker Ö÷»úºÍÈÝÆ÷Ìṩͳ¼ÆÐÅÏ¢¡£

cAdvisor - Docker Containers 2016-08-01 14-24-18

°²×° Grafana ¿ØÖÆÃæ°å

×îºó£¬ÎÒÃÇÐèÒª°²×° Grafana ÒDZí°å²¢Á¬½Óµ½ InfluxDB£¬Äã¿ÉÒÔÖ´ÐÐÏÂÃæµÄÃüÁîÀ´ÉèÖÃËü¡£

root@ubuntu:~# docker run -d -p 3000:3000 -e INFLUXDB_HOST=localhost

-e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=

root -e INFLUXDB_PASS=root --link influxsrv:influxsrv --name

grafana grafana/grafana

f3b7598529202b110e4e6b998dca6b6e60e8608d75dcfe0d2b09ae408f43684a

 

ÏÖÔÚÎÒÃÇ¿ÉÒԵǼ Grafana À´ÅäÖÃÊý¾ÝÔ´. ·ÃÎÊ http://ÄãµÄ IP µØÖ·:3000 »ò http://ÄãµÄ IP µØÖ·(Èç¹ûÄãÔÚÇ°Ãæ×öÁ˶˿ÚÓ³ÉäµÄ»°):

Óû§Ãû - admin

ÃÜÂë - admin

Ò»µ©ÎÒÃǰ²×°ºÃÁË Grafana£¬ÎÒÃÇ¿ÉÒÔÁ¬½Ó InfluxDB¡£µÇ¼µ½ÒDZíÅ̲¢ÇÒµã»÷Ãæ°å×óÉÏ·½½ÇÂäµÄ Grafana ͼ±ê(ÄǸö»ðÇò)¡£µã»÷Êý¾ÝÔ´(Data Sources)À´ÅäÖá£

addingdatabsource

ÏÖÔÚÄã¿ÉÒÔÌí¼ÓеÄͼÐÎ(Graph)µ½ÎÒÃÇĬÈϵÄÊý¾ÝÔ´ InfluxDB¡£

panelgraph

ÎÒÃÇ¿ÉÒÔͨ¹ýÔÚ²âÁ¿(Metric)Ò³Ãæ±à¼­ºÍµ÷ÕûÎÒÃǵIJéѯÒÔµ÷ÕûÎÒÃǵÄͼÐΡ£

Grafana - Grafana Dashboard 2016-08-01 14-53-40

Grafana - Grafana Dashboard

¹ØÓÚ Docker ¼à¿Ø£¬Äã¿ÉÓôӴËÁ˽â¸ü¶àÐÅÏ¢¡£ ¸ÐлÄãµÄÔĶÁ¡£ÎÒÏ£ÍûÄã¿ÉÒÔÁôÏÂÓмÛÖµµÄ½¨ÒéºÍÆÀÂÛ¡£Ï£ÍûÄãÓиöÃÀºÃµÄÒ»Ìì¡£

   
1962 ´Îä¯ÀÀ       30
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ