Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ 2018

Python script giám sát hệ thống tích hợp với Nagios

Hello Devopers.

Mình mới viết một script nhỏ để giám sát hệ thống sensor bằng python3.

Mục đính là để giám sát hệ thống bật tắt một thiết bị. Trong script này thiết bị phải cung cấp gía trị giám sát được truyền theo định dạng file : xml.

Ví dụ:


url = "http://192.168.10.200:8880/values.xml"



Trong script này mình sử dụng hàm xml và urllib.

#!/usr/bin/env python3
import sys
import ssl
from lxml import etree
import urllib3
import urllib.request
import xml.etree.ElementTree as xee
context = ssl._create_unverified_context()
url = "http://192.168.10.200:8880/values.xml"
s = urllib.request.urlopen(url, context = context)
contents = s.read()
file = open("export.xml", 'wb')
file.write(contents)
file.close()


 Chúng ta tạo một file export.xml và đọc nội dung file đó. Khi hệ thống Nagios quét tuần tự thì thông số trong file export.xml được cập nhật.


data = "export.xml"
web = etree.parse(data)
root = web.getroot()
for BinaryInSet in root:


        fo…

Kết nối python flask với Database Oracle.

Dear các bạn,

Bài viết này mình show cho các bạn về cách làm việc giữa flask framework và database Oracle.

Bài viết này khá cơ bản dành cho các bạn làm quen với python nói chung và flask framework nói riêng.

Trước tiên bạn có thể tham khảo sơ qua về flask framework tại đây.     

Flask là một python framework khá nhỏ gọn.Dưới là một ví dụ  về flask:

from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!"
Ok, vậy cài đặt và chạy flask như thế nào?
$ pip install Flask $ FLASK_APP=hello.py flask run * Running on http://localhost:5000/  

Vậy giờ bạn có thể truy cập vào http://localhost:5000 xem kết quả trả về như thế nào nhé.


Trước tiên bạn import thư viện Oracle vào:

 import cx_Oracle
OK, sau đó bạn viết một hàm kết nối và làm việc với database Oracle:

def querydb():
    con = cx_Oracle.connect('username/password@x.x.x.x:1521/Servicename')    
    pn = request.form['phonenumber']
    cur = con.cursor()
    …

Thiết kế một RESTful API bằng python và flask.

Như các bạn đã biết thì REST viết tắt bởi REpresentational State Transfer. Bạn có thể tham khảo thêm ở đây.

Vậy REST là gì:

Có 6 yếu tố của REST như sau:

1. Client-Server: phía server side phục vụ như một service còn phía client sẽ dùng service này.

2.Stateless:  Mỗi request từ client phải chứa tất cả các thông tin mà phía server yêu cầu phải có. Nói nôm na là mỗi request chứa các thông tin riêng rẽ không liên quan đến những request khác.

3. Cacheable : Phía server side phải cảnh báo chỉ ra cho client side biết là request đó có cache hay không.

4. Hệ thống phân lớp: Giao tiếp giữa server side và client side có thể thông qua lớp trung gian ở giữa để trả lời các request được gọi mà không cân phía client phải làm những động tác khác nữa.

5. Các cổng giao tiếp là giống nhau : Các phương thức giao tiếp giữa client và server là khuôn mẫu giống nhau.

6. Mã code linh động. Phía server có thể thực thi cho môt API gọi duy nhất mà không ảnh hưởng tới các API khác.

RESTful web service là gì :

Kiế…