Sau khi cài đặt agent trên các máy trạm, nếu đƣợc lựa chọn (/NOW) OCS Inventory Agent ngay lập tức sẽ lấy và gửi thông tin của máy trạm đó cho Comunication server, thông tin bao gồm: thông tin về BIOS, bộ nhớ, tốc độ xử lý của CPU, số core của CPU, các trinh điều khiển, các thiết bị nhập( bàn phím, chuột), màn hình, card mạng, các cổng, slote, card âm thanh, màn hình, thông tin ổ cứng, và thông tin các phần mềm đã cài đặt trên máy đó. Tất cả các thông tin này đƣợc gửi tới Comunication Server thông qua giao thức HTTP. Sau khi gửi thành công, agent sẽ cập nhật lại các thông tin về “PROLOG_FREQ” (thời gian định kỳ gửi thông tin), “TTO_WAIT” trong file “service.ini”, đồng thời tải về file “infor” chứa các nhiệm vụ Comunication Server yêu cầu thực hiện nếu có qua giao thức HTTPS.
4.1.2 Sử dụng tính năng IP Discover phát hiện các thiết bị mạng
Tính năng Ip Discover cho phép OCS Inventory NG phát hiện ra các thiết bị mạng đƣợc kết nối vào mạng OCS Inventory NG quản lý.
Comunication Server yêu cầu một số trong các máy đang chạy OCS Inventory NG agent quét các địa chỉ MAC trong mạng con của máy agent mỗi lần chạy. Chúng sẽ không quét tất cả toàn bộ mạng, chỉ các mạng nội bộ đƣợc định nghĩa bởi cặp địa chỉ IP/Subnet mask.
4.1.2.1 Giới thiệu
Phần mềm thống kê rất hữu ích cho ngƣời quản trị. Nó cho phép “soi” các máy tính hoạt động trong hệ thống. Ngày nay, với sử dụng TCP/IP có thể nói rằng việc giám sát các thiết bị rất dễ dàng đặc biệt với OCS Inventory NG.
Nhƣng, với các thiết bị không gửi thông tin về thiết bị đó, vì nhiều lý do nhƣ: quên, sự không hợp tác của ngƣời sử dụng. Chuyện gì với các thiết bị đang hoạt động nhƣng không chạy inventory agent ( máy in, switches, routers, WiFi access points…) hay với các máy tính không cần kết nối tới mạng quản lý
IPDISCOVER trả lời các vấn đề này. Ngay cả khi nó có thể làm việc độc lập thì kết quả vẫn rất tốt cho cấu trúc OCS. Khi làm việc dựa trên một giao tiếp giữa tất cả các host của hệ thống thông tin và máy chủ trung tâm, server có thể dễ dàng điều khiển các client làm một vài các nhiệm vụ nhỏ, nhƣ lấy khóa registry, gửi thông tin kiểm kê hay nhận các trả lời từ tất cả các thiết bị trên IP segment gửi đi.
4.1.2.2 Cách thức làm việc của IPDISCOVER
+ Cách nhận thông tin
Hệ thống OCS NG dựa trên sự giao tiếp giữa agent đƣợc cài đặt trên các máy trạm và module Apache trên OCS NG server. Thông tin trao đổi đƣợc nén trong file XML và cho phép cấu hình các nhiệm vụ agent sẽ làm.
Khi một máy trạm gửi một kết quả kiểm kê, server sẽ cố gắng xác minh nếu nó cần một vài các máy trạm khác ( số lƣợng có thể thay đổi theo cấu hình) quét các host khác trong mạng con của nó. Địa chỉ gateway IP đƣợc sử dụng nhƣ một bản đò cho cả mạng doanh nghiệp.
Nếu cần thiết, máy chủ có thể đánh giá chất lƣợng và cân nhắc có hoạt động tính năng Ipdiscover hay không trên máy trạm. Trong trƣờng hợp này, máy trạm sẽ gửi tới hệ thống một thông tin kiểm kê một cách độc lập với cấu hình chung trong trƣờng “FREQUENCY”.
+ Cơ chế “bầu chọn”
Một khi máy chủ đã xác định rằng có một nhu cầu cho các cổng đƣợc chọn, nó đánh giá các tiêu chí sau:
OS: Hệ điều hành phải là Windows XP(hoặc mới hơn : Vistar, Win 7) hoặc Windows 2000 (hoặc mới hơn: 2003,2008 tất cả các phiên bản) hoặc LINUX.
của các host đã đƣợc kiểm kê cho gateway. Nếu máy tính hiện hành gửi kết quả kiểm kê có chất lƣợng tốt hơn so với một máy tính kích hoạt IPDISCOVER cho cổng này, máy trạm này sẽ thay thế một trong những máy trạm khác. Tùy chọn 'IPDISCOVER' phải lớn hơn “0” để kích hoạt tính năng này!
FIDELITY: Tổng các kết nối của các máy trạm tới server. Trƣờng này có giá trị phải lớn hơn hoặc bằng 3, cho phép “QUALITY” tính toán từ dữ liệu đại diện.
NETMASK: sub network mask, Trƣờng này miêu tả giá trị lớn nhất của lớp B ( bytes thứ 2 đầu tiên tới 255 => 255.255.X.X)
LASTDATE: khi Comunication Server tính toán chất lƣợng, nếu nó tìm ra một host chƣa từng gửi kết quả kiểm kê từ nhiều ngày đƣợc định nghĩa bởi tùy chọn “IPDISCOVER_MAX_ALIVE”, nó sẽ thay thế host này bở một host mới.
+ Agent làm việc nhƣ thế nào?
Khi một agent nhận nhiệm vụ phát hiện các thiết bị mạng trong mạng của nó, trƣớc tiên nó sẽ xác định các giao diện mạng đƣợc sử dụng. Sau đó nó giải quyết vấn đề thông qua gói tin trả lời ARP từ tất cả các IP trên mạng của mình( trỳ hoãn giữa 2 host đƣợc định nghĩa trong trƣờng “IPDISCOVER_LATENCY” của cấu hình IPDiscover trên OCS Server). Tất cả thông tin trả lời của các thiết bị đƣợc nén thành file XML và gửi về cho server.
+ Sự điều chỉnh trên server
Khi mới cài OCS NG, quá trình cài sẽ hỏi có chạy tính năng IpDiscover hay không. Nó sẽ yêu cầu lấy tất cả các gateway và bầu chọn máy trạm nào sẽ làm chức năng IPDiscover. Khi một máy trạm đƣợc bầu nếu nó thực sự đã gửi thông tin kiểm kê, hệ thống sẽ đặt giá trị “FREQUENCY” bằng 0( luôn tạo ra một thông tin kiểm kê). Và giá trị này có thể tăng lên, tùy theo cấu trúc hạ tầng của mạng. Có thể phân tích lỗi tiềm năng của mạng (thông qua trực tiếp lệnh ipdiscover-utils.pl hoặc qua giao diện quản lý web).
4.2 Triển khai các gói phần mềm hoặc thực hiện các câu lệnh trên các máy trạm. các máy trạm.
OCS Inventory NG bao gồm cả tính năng triển khai các gói phần mềm tới client mà nó giám sát. Từ máy chủ quản lý, có thể tải lên các gói sau đó các client có thể tải về thông qua giao thức HTTP/HTTPS và cài đặt chúng.
Tính năng này hoạt động nhƣ thế nào? Một gói đƣợc triển khai sẽ có 4 thành phần:
Độ ƣu tiên. Một hành động.
Một file ZIP hoặc TAR.GZ bao gồm bao nhiêu tập tin và thƣ mục (Tùy chọn).
Một lệnh để khởi động(Tùy chọn).
Có 11 cấp độ ƣu tiên, từ mức 0-10. Cấp 0 là ƣu tiên cao nhất và mức 10 là thấp nhất. Gói có cấp độ ƣu tiên 0 sẽ đƣợc triển khai trƣớc khi gói ƣu tiên 1. Gói có cấp độ ƣu tiên 1 sẽ đƣợc triển khai trƣớc khi gói có cấp độ ƣu tiên 2 ...
Hành động đƣợc liên kết với tập tin để triển khai và lệnh để khởi động. Đây có thể là một trong ba lệnh sau:
Hành động Launch: để triển khai một file ZIP hoặc TAR.GZ và khởi
động có hoặc không có tham số, dựa trên tập tin thực thi trong file ZIP hoặc TAR.GZ. File ZIP hoặc tập tin TAR.GZ, và lệnh liên quan sẽ đƣợc đƣa vào thƣ mục tạm thời. Hành động này cho phép lấy kết quả của mã lệnh phát động.
Hành động Excecute: Dùng để triển khai một file ZIP hay TAR.GZ( tùy chọn), và đẩy xuống cùng hoặc không cùng một file có khả năng thực thi
có hoặc không trong file ZIP hay TAR.GZ. Nếu file có khả năng thực thi không đặt trong file ZIP hay TAR.GZ, nó phải là một phần của phần mềm đã đƣợc cài đặt trong client. Điển hình, nó có thể là một câu lệnh chuẩn của windows nhƣ Windows Installer, RPM, DPKG hay TAR.GZ trên linux.
File ZIP hay TAR.GZ sẽ giải nén vào trong một thƣ mục tạm, kết hợp với câu lệnh ( tên của file thực thi với đƣờng dẫn hay thông số nếu cần) sẽ
đƣợc khởi động trong một thƣ mục tạm.
Hành động này cho phép lấy kết quả mã lệnh của lệnh đã khở động. Tuy nhiên, hành động này cho phép chạy một lệnh trên clients. Không cần triển khai hay bất kỳ file nào. Ví dụ, có thể sử dụng nó để chạy cấu hình hệ thống cụ thể nào đó nhƣ: thiết lập Proxy, turn on-off firewall, thiết lập các policy....
Hành động Store: để triển khai một file ZIP hay TAR.GZ hay bất kỳ nội
dung nào lƣu trữ trong một thƣ mục của máy trạm.
Không có câu lệnh nào đƣợc kết hợp với hành động này, chỉ có đƣờng dẫn cụ thể nơi lƣu trữ xả nén các file.
Có thể thông qua cửa sổ quản trị để triển khai gói. Nó sẽ tự động đƣợc miêu tả bởi:
Một tham chiếu trong cơ sở dữ liệu, đƣợc sử dụng bởi Comunication Server để yêu cầu agent tải gói.
Một file chứa thông tin, tên là “infor”. Đó là một file XML miêu tả gói và hành động agent sẽ thực hiện.
Có hoặc không có các phân mảnh của file. File tải lên ( với 1 file) sẽ đƣợc chia ra thành nhiều phần nhỏ để các agent tải vể từng phần một, và sau đó có thể dễ dàng ghép lại thành file ban đầu, và dễ dàng tải lại các mảnh bị tải hỏng. Nếu quá trình tải bị hỏng, những mảnh hỏng sẽ đƣợc tải tại thời điểm khác thay vì tải lại tất cả gói. Có thể chỉnh kích thƣớc mảnh tùy theo băng thông mạng. Nếu muốn chia thành các file có kích thƣớc lớn ( hơn 8Mb) thì phải chỉnh cấu hình PHP trong file “php.ini”.
Một khi gói đƣợc xây dựng, phải kích hoạt nó. Phải chỉ ra nơi có vị trí SSL đƣợc kích hoạt máy chủ web (ví dụ nhƣ triển khai các máy chủ), nơi client có thể tải về tập tin thông tin và các mảnh files.
Hình 4.1: Sơ đồ cấu trúc triển khai gói phần mềm sử dụng OCS Inventory NG Khi agent gửi thông tin cho Comunication server, Comunication Server sẽ nói cho agent nếu có một hoặc nhiều gói triển khai tới nó, với các thông tin về mức độ ƣu tiên của từng gói, nơi mà agent có thể tìm thông tin các file. Agent bắt đầu tải về, khi hoàn thành, nó chạy hành động gói, và gửi trả về mã kết quả thông tin tình trạng cho Comunication Server.
Agent sẽ bắt đầu tải về theo một chu kỳ. Một chu kỳ gồm các vòng, đƣợc định nghĩa bởi cấu hình trong “DOWNLOAD_PERIOD_LENGTH”. Mặc định, giá trị của một chu kỳ là 10 vòng.
Tại mỗi vòng, nó tính toán "số vòng của gói module ƣu tiên". Nếu nó có bằng 0, nó tải các mảnh của file. Sau mỗi đoạn, nó sẽ chờ đợi
"DOWNLOAD_FRAG_LATENCY" (cấu hình tùy chọn thiết lập để 10 giây theo mặc định) trƣớc khi tải về các mảnh tiếp theo.
Khi tất cả các mảnh của gói đƣợc tải về, nó sẽ sử dụng gói câu lệnh và đợi “DOWNLOAD_CYCLE_LATENCY” ( cấu hình tùy chọn mặc định là 60 giây) trƣớc khi bắt đầu một vòng mới và gia tăng số thứ tự vòng.
Nếu tất cả các gói đã đƣợc tải về và cài đặt thành công, nó dừng lại. Nếu không, nó bắt đầu một giai đoạn mới của chu kỳ.
LƯU Ý: Ưu tiên cấp 0 là một mức độ đặc biệt. Tất cả các gói ưu tiên 0 sẽ được tải về trước khi tất cả các gói ưu tiên cao hơn những gói khác vào đầu của mỗi chu kỳ. Nếu tải không thành công, agent sẽ thử lại để tải về các gói không phải là ưu tiên 0, mà không kiểm tra những gói khác. Vì vậy, nó hoàn toàn có thể ngừng triển khai. Sử dụng level 0 một cách cẩn trọng!
Có thể sử dụng các thiết lập tùy biến sử dụng băng thông mạng. Bằng cách tăng độ trễ tùy chọn sẽ làm tăng thời gian để tải về các mảnh và giảm tỷ lệ trung bình sử dụng mạng bằng cách tăng chiều dài tùy chọn thời gian, điều này sẽ trì hoãn những mảnh tải về bị hỏng, nhƣng cũng có thể bằng cách giảm độ dài thời gian để một giá trị thấp hơn 10, cũng có thể dừng tải gói với mức ƣu tiên cao hơn giá trị này.
Yêu cầu:
Server triển khai gói lƣu trữ thông tin file phải hỗ trợ SSL, vì quá trình tải thông tin gói là rất nhạy cảm. Thông tin file chứa đựng những miêu tả gói và các lệnh thực thi. Vì vậy, nếu một ai đó gửi một gói tin giả mạo, yêu cầu tải về file infor, anh ta có thể thực thi bất kỳ câu lệnh nào mà anh ta muốn tới các máy trong hệ thống giám sát. Điều đó giải thích tại sao máy chủ triển khai cần sử dụng SSL để cho phép agent chứng thực với server và đảm bảo là gói cần triển khai là từ máy chủ triển khai.
Agent phải có một “certificate” để chứng thực với máy chủ triển khai. Chứng chỉ này phải đƣợc lƣu trữ dƣới tên “cacert.pem” trong thƣ mục cài đặt chứa OCS Inventory Agent trong Windows, và thƣ mục “/etc/ocsinventory-client” trong agent Linux.
Dƣới Windows có thể sử dụng gói OCS Inventory NG để tạo một agent installer bao gồm cả chứng thực, hoặc có thể tạo một logon script theo mẫu sau rồi copy file chứng thực vào trong thƣ mục của agent( Giả định agent đƣợc cài vào C:\Program Files\OCS Inventory Agent và file chứng thực đang đƣợc chia sẻ với tên MYSHARE trên server 192.168.0.81).
@echo
REM Check if CA file exists
if exist “C:\Program Files\OCS Inventory Agent\cacert.pem” goto CA_END REM CA file does not exists, install it
Copy \\192.168.0.81\MYSHARE\cacert.pem “C:\Program Files\OCS Inventory Agent\cacert.pem”
Nếu có sẵn một hạ tầng khóa công khai (PKI), phải tạo một server chứng thực có giá trị cho server triển khai và copy file chứng thực vào thƣ mục cài đặt agent client với tên file “cacert.pem”
Nếu không có một cơ sở hạ tầng khóa công khai, có thể sử dụng một giấy chứng nhận tự ký cho các máy chủ triển khai, và copy file chứng thực vào thƣ mục cài đặt agent client với tên “cacert.pem”
4.2.1 Tạo gói
Trƣớc tiên, muốn triển khai một ứng dụng phải tạo ứng dụng thành các gói.
Hình 4.2: Lựa chọn Tạo gói
Các gói này sẽ đƣợc lƣu trữ trong thƣ mục /usr/share/ocsinventory-
NG/download/”timestamp”. Trong đó “timestamp” là giá trị ngẫu nhiên khi tạo gói sinh ra cho từng gói.
Hình 4.3: Cửa sổ tạo các gói. 1. Nhập vào tên của gói.
2. Lựa chọn hệ thống thực thi gói. Có thể lựa chọn giữa Windows và Linux.
3. Lựa chọn giao thức tải gói. ở đây là HTTP.
4. Lựa chọn thứ tự ƣu tiên của gói. Có thể lựa chọn mức từ 0 tới 10. Gói có độ giá trị thấp hơn sẽ có độ ƣu tiên cao hơn.
5. Có thể chọn để cảnh báo ngƣời dùng rằng một cái gì đó đƣợc đƣa ra trên máy tính của mình. Set "warn User" danh sách thả xuống để "YES", điền vào trong văn bản để hiển thị cho ngƣời dùng, bao lâu để hiển thị các văn bản trƣớc khi thẩm tra tự động cài đặt gói (đặt 0 để chờ đợi vô thời hạn) và nếu ngƣời dùng có thể hủy bỏ hoặc trì hoãn triển khai gói tại lần gửi thông tin tiếp theo.
6. Có thể chỉ định nếu triển khai gói cần có một tƣơng tác ngƣời dùng bằng cách thiết lập danh sách thả xuống " Installation completion need user action: " để "YES", ví dụ, nếu thiết lập nhu cầu ngƣời dùng điền vào một thông tin trên một hộp thoại để chấm dứt.
Cuối cùng, chọn hành động trong "Action". Đây là một số mẫu mô tả các loại gói có thể xây dựng.
4.2.2 Triển khai gói
4.2.2.1 Triển khai gói thông qua lệnh launch:
Gói cần triển khai có thể có một hoặc nhiều file, với ít nhất một file có khả năng thực thi cho việc triển khai cài đặt gói. Nén các file thành một file Zip với các gói gán cho Windows agent và file TAR.GZ với các gói gán cho LINUX agent.
Lựa chọn Launch và kích vào nút Browse để lựa chọn các file ZIP hay TAR.GZ Trong trƣờng “Command” , chỉ điền tên file thực thi không cần có đƣờng dẫn với các thông số tùy chọn. Câu lệnh này sẽ đƣợc thực hiện khi client tải về gói và ghép lại trong thƣ mục tạm.
Ví dụ, khi muốn triển khai một phiên bản mới OCS Inventory NG Agent cho Windows, sử dụng cài đặt ẩn, chỉ định địa chỉ của Comunication Server my_ocs_com_srv, vô hiệu hóa thiết lập IE proxy, và cho phép ghi lại log của cài đặt, Vi vậy file ZIP sẽ bao gồm file “OcsAgentSetup.exe” và trƣờng file name chứa:
OcsAgentSetup.exe /S /SERVER:my_ocs_com_srv /NP /DEBUG
Tiếp theo, phải xác định kích thƣớc của từng mảnh của gói theo đó agent sẽ tải từng mảnh này về. Điều này cho phép tải lại trong trƣờng hợp một mảnh nào đó tải bị hỏng, và chỉ những mảnh nào hỏng mới cần tải lại thay vì tải lại hết các mảnh của gói.