F5 Irule学习记1

简介:
[背景]以前为一个项目学习过一段时间的Irule,最近又因其他需求,需要将其拾其,但突然发现,以前学的没有做整理,有点遗忘,这次想将学习的过程记录下来.

什么是Irule,我想大家google下,肯定会比我说的还详细.对与它能干什么,我想说的是它什么都能做,当然是在进入到流出F5这段时间里.所以,我们可以在数据流进入后,修改相应的数据包,重构请求包,或者在后端服务器相应后,做出相应内容的重写,都是可以的.看到这里,大家肯定心动了吧.其实吧,我也心动,能通过写写脚本就能将请求/响应数据包改了.按自己的需求提供给后端或者请求者,哈哈,简直,我就是王道嘛.

Irule的程序相对还是比较简单的,它是基与TCL(TOOL COMMAND Language)语法的,是基与触发事件的语言.简单就是说,当数据包处在F5的某一位置,就会触发一种事件,触发一种事件后,就会在此事件中执行一段代码.

when EVENT_NAME{
    CODE
}
你看简单吧.构造就是如此简单,但你想学会灵活使用它,真不简单,因为它的事件太多了,需要很长的时间消化.而且不同的事件,还需要你的VS中profile的指定,如HTTP_REQUEST事件就需要http的profile,否则你就无法将使用此事件的Irule脚本挂到VS上.

当然,光看构造还是不行的,因为Irule也有自己的命令,函数,语句,操作符,将这些一切一切组织在一起就构成了上面的CODE段.

总之,你要是想写好Irule还真不是那么简单,你首先要了解事件,每个事件中可以用到的命令,当然这些都可以在以后慢慢的体会.对了,写程序,免不了Debug,所以我也提供如何Debug我们的程序,我们需要借助Irule提供的log语句.

log local0.info "Hello,World!"
好,提供整段代码吧!
when CLIENT_ACCEPTED {

log local0. "Hello,World"

}

观查,请ssh登录到F5上用tail -f /var/log/ltm命令查看,前提要把上面的Irule挂到VS上噢,切记,切记!


F5 Irule俺也是门外汉,对我不要要求太高噢!



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/1214551,如需转载请自行联系原作者

相关文章
|
Kubernetes Go Docker
Kubernetes 内存泄露怎么玩
Kubernetes 内存泄露怎么玩
795 0
Java 如何根据域名查询对应的ip地址
Java 如何根据域名查询对应的ip地址
900 3
|
10月前
|
存储 Java
几种锁:偏向锁、轻量级锁、重量级锁、自旋锁
**锁机制简介:** Java中,锁分为偏向锁、轻量级锁和重量级锁。偏向锁适用于单一线程多次获取同一锁的情况,减少无竞争下的性能消耗;轻量级锁在多线程竞争时通过自旋避免阻塞,提升效率;重量级锁则是在自旋超时或多个线程竞争时,将其他线程阻塞以防止CPU空转,但性能较低。锁的升级路径为:偏向锁 → 轻量级锁 → 重量级锁,且不可降级。偏向锁默认开启,可通过JVM参数调整或关闭。
382 18
|
Prometheus 监控 Cloud Native
Prometheus+Grafana+NodeExporter 打造一款出色的监控系统,帅呆了!
Prometheus+Grafana+NodeExporter 打造一款出色的监控系统,帅呆了!
405 2
|
数据采集 数据可视化 数据挖掘
从数据到洞察:Python 数据分析实例
在当今数据驱动的时代,数据分析已经成为企业和组织决策的重要依据。Python 作为一种强大的数据分析工具,提供了丰富的库和工具,使得数据分析变得更加简单和高效。在本文中,我们将通过一个实际的案例,介绍如何使用 Python 进行数据分析,从数据到洞察。
|
网络协议 Linux C++
Linux C/C++ websocket协议与服务器实现
Linux C/C++ websocket协议与服务器实现
579 0
|
JSON JavaScript 前端开发
【Python】一文带你了解并使用 Json 模块
python的json模块是python官方提供的一个用于解析和生成JSON数据格式的库。JSON是JavaScript对象表示法(JavaScript Object Notation)的缩写,是一种轻量级的数据交换格式,常被用于Web应用程序中,也被广泛地应用于非Web应用程序中。python的json库可以方便地将python中的数据转换为JSON格式数据,并支持将JSON格式数据转换为python中的数据类型。
955 0
【Python】一文带你了解并使用 Json 模块
|
存储 网络协议 大数据
腾讯云主机安装COSFS工具并使用COS对象存储
腾讯云主机安装COSFS工具并使用COS对象存储
1139 0
腾讯云主机安装COSFS工具并使用COS对象存储
|
MySQL 关系型数据库 Shell